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

UITabBar скроет последнюю ячейку UITableView

self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, [UIScreen mainScreen].bounds.size.height ) style:UITableViewStylePlain];

enter image description here

Если я изменил рамку tableview на

(0.0, 0.0, 320.0, [UIScreen mainScreen].bounds.size.height -49.0)

enter image description here

полоса прокрутки оставит пустой, мне это не нравится. Как я могу это исправить?

Большое спасибо.

4b9b3361

Ответ 1

Вы можете попробовать установить contentInset этого вида таблицы. В iOS 7 есть topLayoutGuide и bottomLayoutGuide (это то, что вы хотите). Внутри UITabBarController bottomLayoutGuide должен давать вам высоту нижней панели в основном.

tableView.contentInset = UIEdgeInsetsMake(0, 0, self.bottomLayoutGuide.length, 0);

должен сделать трюк.

Ответ 2

Задайте для полупрозрачного свойства значение NO

// In init or viewDidLoad of tab bar controller
self.tabBar.translucent = NO;

Теперь панель вкладок должна изменить размер представления таблицы.

Свойство translucent доступно для iOS 7 и выше.

Ответ 3

У вас есть 2 варианта:

Первая

self.tableView.contentInset.bottom = self.tabBarController?.tabBar.frame.height ?? 0

Это сделает трюк и сохранит свойство transparent на панели tab.


Второй В режиме просмотра просто снимите флажок Under Bottom Bars, но положите себе в голову, что tab bar будет выглядеть сплошным цветом (ничего не позади).

введите описание изображения здесь

введите описание изображения здесь

Ответ 4

//В viewDidLoad() для меня работали следующие строки

self.edgesForExtendedLayout = UIRectEdge.None self.navigationController?.navigationBar.translucent = false self.tabBarController?.tabBar.translucent = false