IOS TabbarViewController скрывает панель вкладок
У меня есть viewcontroller, который реализует UITabbarViewController, и я хочу скрыть
панель вкладок и переопределить ее самостоятельно,
self.tabBar.hidden = YES;
панель вкладок исчезла, но в нижней части окна есть пустая область (синяя).
Я не хочу пустую область, как я могу это исправить? Спасибо.
: синяя область:
self.view.backgroundColor = [UIColor blueColor];
Ответы
Ответ 1
Мы сделали то же самое в нашем приложении. Чтобы скрыть TabBar по умолчанию, просто переопределите метод hidesBottomBarWhenPushed
в родительском контроллере представления (или на каждом контроллере представления в вашем приложении)
#pragma mark - Overriden UIViewController methods
- (BOOL)hidesBottomBarWhenPushed {
return YES;
}
EDIT: это значение также можно установить из раскадровки:
![enter image description here]()
Ответ 2
Я не думаю, что есть простой способ исправить это, потому что UITabbarViewController
- это, вероятно, ваш супер-просмотр и все "внутренние" представления height = screenHeight - tabBarHeight - navBarHeight
.
Возможно, вы можете попытаться изменить размер внутреннего контроллера внутреннего вида вручную, но я думаю, что у вас могут возникнуть проблемы с процессом подачи приложений Apple AppStore, потому что я считаю, что это нарушает общий пользовательский интерфейс iOS.
Ответ 3
И вот как вы делаете переопределение (UIViewController
) в Swift:
override var hidesBottomBarWhenPushed: Bool {
get { return true }
set { super.hidesBottomBarWhenPushed = newValue }
}
Ответ 4
My UITabBarController
размещается внутри контейнера. Проверка "Hide Bottom Bar on Push" для меня не работала. Вместо этого я создал подкласс контроллера панели вкладок и программно скрыл панель вкладок.
class FooTabBar: UITabBarController {
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.tabBar.isHidden = true
}
}