UITableView + Добавляют смещение содержания в вершине

Я должен добавить некоторый пробел к вершине моего UITableView, который не влияет на размер предметной области. При смещении содержания вниз или добавлении пустая ячейка не то, что я хочу сделать. Вместо этого я просто хочу смещение.

Как?

82
задан Cœur 27 May 2019 в 23:57
поделиться

3 ответа

Я не уверен, что понимаю вас, но мне кажется, что у меня такая же проблема. В моем случае я должен дать немного места ADBannerView в верхней части экрана, поэтому я сделал следующее: в методе viewDidLoad я добавил:

[self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)];

значения, которые он принимает - UIEdgeInsetsMake(top,left,bottom,right).

Альтернативно то же самое со Swift:

self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0)

Swift 4.2:

self.tableView.contentInset = UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)
280
ответ дан 24 November 2019 в 09:01
поделиться

Вы можете добавить к таблице «пустой» заголовок ... это даст первоначальный вид таблицы со смещением, но как только вы начнете прокрутку, смещение исчезнет. НЕ уверен, что это то, что вы хотите.

Если вам нужно постоянное смещение и вы еще не используете заголовки разделов, вы можете создать смещение, как описано выше, создав пользовательские представления для заголовков разделов, особенно если у вас есть только один раздел, это может дать вам вид постоянный зачет.

Я могу опубликовать образец кода, если он похож на то, что вы ищете.

5
ответ дан 24 November 2019 в 09:01
поделиться

Похоже, вы хотите обернуть «Просмотр» вокруг своего UITableView . Если у вас есть UITableViewController в IB, для UITableView автоматически будет установлено представление для UITableViewController .Вы меняете свойство view на обычное UIView , добавляете туда свой UITableView и задаете ему смещение.

--- Изменить --- Я только что прочитал свой пост и подумал, что в нем мало смысла :) Когда вы создаете UITableViewController , вы получаете это (в псевдокоде):

UITableViewController.view = UITableView

Это означает, что фактическая таблица займет все пространство, и вы не сможете даже добавить другие представления. Поэтому вам нужно изменить

UITableViewController.view = UIView

и добавить свою таблицу в этот UIView

2
ответ дан 24 November 2019 в 09:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: