Ответ: Использовать self.tabBarController? .tabBar.hidden вместо hidesBottomBarWhenPushed в каждом контроллере представления для управления тем, должен ли контроллер представления показывать панель вкладок или нет.скрыть/показать панель вкладок при нажатии/назад. swift
override func viewWillAppear(animated: Bool) {
self.tabBarController?.tabBar.hidden = true/false
}
Хочу
вида Контроллер 1: панель вкладок должна быть показана
вид контроллера 2: панель вкладок должна быть показана
вида контроллер 3: панель вкладок следует не показывать.
контроллер 4: панель вкладок не должна отображаться.
Я написал
// prepareForSegue in view controller 1,
let upcoming = segue.destinationViewController as! viewcontroller3
upcoming.hidesBottomBarWhenPushed = true
// in view controller 3,
func clickOnButton(button: UIButton) {
self.hidesBottomBarWhenPushed = false
self.performSegueWithIdentifier("viewController2", sender: self)
self.hidesBottomBarWhenPushed = true
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "viewController2" {
let upcoming = segue.destinationViewController as! viewController2
upcoming.hidesBottomBarWhenPushed = false
}
}
// prepareForSegue in view controller 2
let upcoming = segue.destinationViewController as! viewController4
upcoming.hidesBottomBarWhenPushed = true
если 1 -> 3, то обратно к 1, работает.
если 1 -> 3 -> 2, то обратно на 3 и обратно на 1, работает.
если 2 -> 4, а затем 2, работает.
если 1 -> 3 -> 2 -> 4, а затем назад на 2, панель вкладок не отображается. Интересно, почему. Любые предложения или некоторые объяснения hidesBottomBarWhenPushed как это сбивает с толку меня много
Вы видели нижний планшет, когда вы навигация от 3 до 2? –
Да. Я это вижу. –