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]()
полоса прокрутки оставит пустой, мне это не нравится. Как я могу это исправить?
Большое спасибо.
Ответы
Ответ 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