Чи клітини UITableView
показують на порожньому просторі, коли ви прокручуєте вниз?
Якщо так, то проблемою може бути вставка, яка додається UITableView
через контролер навігації, який у вас є. Вставка додається до подання таблиці для того, щоб вміст був розміщений під навігаційною панеллю, коли не відбулося прокручування. Коли таблиця прокручується, вміст прокручується та відображається під прозорою панеллю навігації. Така поведінка, звичайно, хочеться лише в тому випадку, якщо подання таблиці починається безпосередньо під навігаційною панеллю, що тут не так.
Ще слід зазначити, що iOS коригує вставку вмісту лише для першого перегляду в ієрархії перегляду, якщо він є UIScrollView
або він є нащадком (наприклад, UITableView
та UICollectionView
). Якщо ваша ієрархія перегляду включає в себе декілька подань прокрутки, automaticallyAdjustsScrollViewInsets
внесете корективи лише у перший.
Ось як змінити таку поведінку:
a) Інтерфейс Builder
- Виберіть контролер перегляду
- Інспектор відкритих атрибутів
В інспекторі атрибутів IB (якщо вибрано контролер перегляду) є властивість під назвою "Налаштувати вкладиші прокрутки", яка за замовчуванням увімкнена. Зніміть цей прапорець:
(Зображення надано Dheeraj D )
Я не впевнений, яка версія Xcode представила цю опцію (не помітила її у примітках до випуску), але вона принаймні доступна у версії 5.1.1.
Редагувати: Щоб уникнути плутанини, це був третій варіант, згаданий у коментарях
б) програмно
Додайте це тобто viewDidLoad
(кредити до відповіді Славко Петковського та коментар Криса Р )
// Objective-C
self.automaticallyAdjustsScrollViewInsets = NO;
// Swift
self.automaticallyAdjustsScrollViewInsets = false
в) Це може бути актуально для старих школярів
Ви можете це виправити, додавши
tableView.contentInset = UIEdgeInsetsZero
//Swift 3 Change
tableView.contentInset = UIEdgeInsets.zero
Або якщо ви використовуєте ІБ та якщо панель навігації не прозора (не можу сказати зі знімка екрана)
- Виберіть контролер перегляду
- Інспектор відкритих атрибутів
- У розділі "Параметри перегляду контролера" Розділ "Розширити краї" зніміть позначку "Під верхніми смугами"