Пустое пустое пространство над UITableView внутри UIView
Я пытаюсь позиционировать TableView внутри моего ViewController, но оставляя пробел в 44 между нижней частью панели навигации и верхней частью таблицы. Затем я хотел разместить UITextField внутри этого промежутка, чтобы действовать как неподвижный заголовок. По какой-то причине TableView имеет пустое пространство над стартом "Prototype Cells". Его просто пустое пространство. Вот как это выглядит в раскадровке.
![storyboard]()
При просмотре экрана приложения это выглядит так:
![app1]()
При прокрутке таблицы она доходит до правильного места:
![app2]()
Ответы
Ответ 1
Попробуйте заглянуть в "инспектор атрибутов" (в правом меню) в ViewController участников.
Проверьте опцию "Расширить края" и снимите флажок "Под верхними барами", а затем переместите свое табличное представление.
Еще одно возможное решение - просто снять флажок "Настроить прокрутки" .
Причина в том, что когда viewController расширяет свои ребра, скажем, под верхней панелью, tableView scrollView автоматически настраивает верхнюю часть вставки, так что содержимое таблицыView будет начинаться точно под верхней панелью. Но в вашем случае это не нужно, так как сам tableView запускается под панелью.
Сосредоточьтесь на ViewController и перейдите на вкладку Attribute Inspector:
![введите описание изображения здесь]()
Ответ 2
Попробуйте следующее:
self.tableView.contentInset = UIEdgeInsetsMake(-65, 0, 0, 0)
Ответ 3
Просто добавьте это в метод ViewDidLoad
self.automaticallyAdjustsScrollViewInsets = NO;
Ответ 4
Вам не нужно изменять настройку по умолчанию для Extend Edges.
Похоже, настоящая проблема - это пустой заголовок таблицы в вашем раскадровке. Это показано на скриншоте, который вы предоставили в своем раскадровке, прямо под окном Enter Name и прямо над представлением Prototype Cells. Удали это.
Ответ 5
Я нашел решение для этого. В моем случае я использовал TabBarViewController, просто снимите флажок "Настроить прокрутки". Проблемы уходят.
https://i.stack.imgur.com/qgQI8.png
Ответ 6
Для пользователей Objective-C добавьте это в свой метод ViewDidLoad.
[self.tableView setContentInset:UIEdgeInsetsMake(-20, 0, 0, 0)];
Ответ 7
Мои проблемы, я установил tableHeaderView
как новый UIView
как это
self.tableHeaderView = UIView(frame: .zero)
Удалите эту строку, проблема исчезла. Попробуй это:
//self.tableHeaderView = UIView(frame: .zero)
Ответ 8
изменить стиль представления таблицы с сгруппированного на обычный
![as shown here]()