UITableView + добавить смещение содержимого в верхней части
Мне нужно добавить некоторое пустое пространство в верхнюю часть моего UITableView, которое не влияет на размер области содержимого. Перемещение содержимого вниз или добавление пустой ячейки-это не то, что я хочу сделать. Вместо этого я просто хочу компенсировать.
есть идеи?
4 ответа:
я не уверен, что я следую за вами, но я думаю, что у меня такое же затруднительное положение. В моем случае я должен дать некоторое пространство для ADBannerView в верхней части экрана, поэтому то, что я сделал, было в методе viewDidLoad, который я добавил:
[self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)];
значения, которые он принимает UIEdgeInsetsMake (сверху,слева,снизу,справа).
альтернативно то же самое с Swift:
self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0)
вы можете добавить "пустой" вид заголовка в таблицу... это дало бы первоначальный вид таблицы, чтобы иметь смещение, но как только вы начали прокручивать смещение исчезнет. Не уверен, что ты этого хочешь.
Если вам нужно постоянное смещение и вы еще не используете заголовки разделов, то вы можете создать смещение аналогично выше, сделав пользовательские представления для заголовков разделов, особенно если у вас есть только один раздел, это может дать вам вид постоянного сдвиг.
Я могу отправить пример кода, если это звучит как одно из тех, что вы ищете.
Я объединил ответ Джигзата с:
[self.tableView scrollRectToVisible:CGRectMake(0, 0, 320, 1) animated:NO];
на
- (void)viewDidLoad
таким образом, первая ячейка не находится в верхней части.
Похоже, вы хотите обернуть 'вид' вокруг
UITableView
. Если у вас естьUITableViewController
В IB theUITableView
будет автоматически установлен наview
наUITableViewController
. Ты меняешьсяview
свойство к нормальномуUIView
и добавитьUITableView
там и дать ему смещение.---редактировать--- Я просто прочитал свой пост и подумал, что это имеет мало смысла :) когда вы создаете
UITableViewController
вы получили это (псевдо код):UITableViewController.view = UITableView
это означает, что реальные таблицы займет все пространство, и вы даже не можете добавить другие виды. Так что вам нужно изменить
UITableViewController.view = UIView
и добавьте свою таблицу к этому
UIView