Мені потрібно додати трохи вільного місця у верхній частині мого UITableView, що не впливає на розмір області вмісту. Зміщення вмісту вниз або додавання порожньої комірки НЕ те, що я хочу робити. Натомість я просто хочу компенсацію.
Як?
Мені потрібно додати трохи вільного місця у верхній частині мого UITableView, що не впливає на розмір області вмісту. Зміщення вмісту вниз або додавання порожньої комірки НЕ те, що я хочу робити. Натомість я просто хочу компенсацію.
Як?
Відповіді:
Я не впевнений, чи йду за тобою, але думаю, що в мене така ж скрута. У моєму випадку я повинен дати трохи місця для ADBannerView у верхній частині екрана, щоб те, що я зробив, було в методі viewDidLoad, який я додав:
[self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)];
значення, які він приймає, - UIEdgeInsetsMake (зверху, ліворуч, знизу, праворуч).
Альтернативно те ж саме зі Swift:
self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0)
Свіфт 4.2:
self.tableView.contentInset = UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)
Ви можете додати "порожній" вид заголовка до таблиці ... це дасть початковий вигляд таблиці, щоб мати зміщення, але як тільки ви почнете прокручувати зміщення, зникне. НЕ впевнений, що це те, що ти хочеш.
Якщо вам потрібен постійний зсув і ви вже не використовуєте заголовки розділів, тоді ви можете створити зсув подібно до вищезазначеного, створивши власні види для заголовків розділів, особливо якщо у вас лише один розділ, це може дати вам вигляд постійного зміщення .
Я можу розмістити зразок коду, якщо здається, що це те, що ви шукаєте.
Здається, ви хочете обернути "погляд" навколо свого UITableView
. Якщо у вас є UITableViewController
IB UITableView
, автоматично буде встановлено значення view
of UITableViewController
. Ви змінюєте view
властивість на нормальне UIView
і додаєте UITableView
туди своє і надаєте йому компенсацію.
--- Редагувати --- Я щойно прочитав свою публікацію і вважав, що мало сенсу :) Коли ви створюєте a, UITableViewController
ви отримуєте це (у псевдокоді):
UITableViewController.view = UITableView
Це означає, що фактична таблиця займе весь простір, і ви навіть не можете додати інші види. Тож вам потрібно змінити
UITableViewController.view = UIView
і додайте до цього свою таблицю UIView
Я поєднав цю відповідь з цією: https://stackoverflow.com/a/9450345/1993937
Щоб таблицяView відображалася у верхній частині вставки вмісту, тому простір у верхній частині не буде відрізано, якщо tableView злегка прокрутить вниз, коли спочатку з’явиться подання. (18 - це мій верхній пробіл)
[self.tableView setContentInset:UIEdgeInsetsMake(18,0,0,0)];
[self.tableView setContentOffset:
CGPointMake(0, -self.songListTable.contentInset.top) animated:YES];