Подтвердить что ты не робот

Пустое пустое пространство над UITableView внутри UIView

Я пытаюсь позиционировать TableView внутри моего ViewController, но оставляя пробел в 44 между нижней частью панели навигации и верхней частью таблицы. Затем я хотел разместить UITextField внутри этого промежутка, чтобы действовать как неподвижный заголовок. По какой-то причине TableView имеет пустое пространство над стартом "Prototype Cells". Его просто пустое пространство. Вот как это выглядит в раскадровке.

storyboard

При просмотре экрана приложения это выглядит так:

app1

При прокрутке таблицы она доходит до правильного места:

app2

4b9b3361

Ответ 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