Я должен добавить некоторый пробел к вершине моего UITableView, который не влияет на размер предметной области. При смещении содержания вниз или добавлении пустая ячейка не то, что я хочу сделать. Вместо этого я просто хочу смещение.
Как?
Я не уверен, что понимаю вас, но мне кажется, что у меня такая же проблема. В моем случае я должен дать немного места 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)
Вы можете добавить к таблице «пустой» заголовок ... это даст первоначальный вид таблицы со смещением, но как только вы начнете прокрутку, смещение исчезнет. НЕ уверен, что это то, что вы хотите.
Если вам нужно постоянное смещение и вы еще не используете заголовки разделов, вы можете создать смещение, как описано выше, создав пользовательские представления для заголовков разделов, особенно если у вас есть только один раздел, это может дать вам вид постоянный зачет.
Я могу опубликовать образец кода, если он похож на то, что вы ищете.
Похоже, вы хотите обернуть «Просмотр» вокруг своего UITableView
. Если у вас есть UITableViewController
в IB, для UITableView
автоматически будет установлено представление
для UITableViewController
.Вы меняете свойство view
на обычное UIView
, добавляете туда свой UITableView
и задаете ему смещение.
--- Изменить ---
Я только что прочитал свой пост и подумал, что в нем мало смысла :) Когда вы создаете UITableViewController
, вы получаете это (в псевдокоде):
UITableViewController.view = UITableView
Это означает, что фактическая таблица займет все пространство, и вы не сможете даже добавить другие представления. Поэтому вам нужно изменить
UITableViewController.view = UIView
и добавить свою таблицу в этот UIView