Как скрыть tabBar, когда нажимаете вид?

Мое приложение является приложением с вкладками, и у него есть несколько контроллеров под tabBarController. Один контроллер - это навигационный контроллер, а его корневое представление - табличное представление. Когда я щелкаю по строке табличного представления, будет добавлено другое представление. Таким образом, вопрос в том, что, когда представление выдвигается, как я могу скрыть вкладку внизу? Кроме того, я также хочу добавить еще один tabBar в представление push, поэтому мне нужно выделить UITabBar или UITabBarController? Или есть другой способ? Спасибо!

Ответ 1

используйте этот метод в классе UIViewController, где вы хотите скрыть tabBarController

-(BOOL)hidesBottomBarWhenPushed
{
    return YES;
}

Обновить

Как сказал @Yuchen Zhong в своем ответе, этот вариант теперь доступен в самой раскадровки.

enter image description here

Ответ 2

Вы можете сделать это в раскадровке сейчас:

  1. Выберите UIViewController в своем раскадровке
  2. Установите флажок Hide Bottom Bar on Push

enter image description here

Ответ 3

Установите UIViewController.hidesBottomBarWhenPushed = YES, если вы хотите скрыть панель вкладок.

...
nextViewController.hidesBottomBarWhenPushed = YES;
...

Ответ 4

Иногда метод hidesBottomBarWhenPushed скрывает нижнюю панель с изменчивой анимацией.

Вместо этого я скрываю панель в viewDidLoad с помощью

self.tabBarController.tabBar.hidden = YES;

и восстановить свое присутствие в представленииWillDisappear

self.tabBarController.tabBar.hidden = NO;

Ответ 5

Установите true hidesBottomBarWhenPushed в контроллере, который вы хотите скрыть.

Для скрытия все контроллеры вставляются в prepare for segue

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    segue.destination.hidesBottomBarWhenPushed = true
}