скрыть / показать панель вкладок при нажатии / назад. быстрый
Ответ: Используйте self.tabBarController? .TabBar.hidden вместо hidesBottomBarWhenPressed в каждом контроллере представления, чтобы управлять, должен ли контроллер представления показывать панель вкладок или нет.
override func viewWillAppear(animated: Bool) {
self.tabBarController?.tabBar.hidden = true/false
}
я хочу
view controller 1: должна отображаться панель вкладок
view controller 2: должна отображаться панель вкладок
view controller 3: панель вкладок не должна отображаться.
view controller 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, панель вкладок не отображается. Интересно, почему. Любые предложения или какое-либо объяснение hidesBottomBarWhenPressed, так как это меня сильно смущает