Caso uno: para ocultar UITabBarController en un UIViewController cetain, por ejemplo, al llamar self.performSegueWithIdentifier("Identifier", sender: self)
, es necesario antes de eso, establecer self.hidesBottomBarWhenPushed = true
bandera. Y después de self.hidesBottomBarWhenPushed = false
bandera. Pero tenemos que entender que a través de un UIViewController, UITabbarController volverá a aparecer y, en caso de que necesite usar UITabbarController con el único UIViewControler, no producirá el resultado correcto.
en el FirstItemViewController
@IBAction func pushToControllerAction(sender: AnyObject) {
self.hidesBottomBarWhenPushed = true
self.performSegueWithIdentifier("nextController", sender: self)
self.hidesBottomBarWhenPushed = false
}
caso de que dos: Para ocultar UITabBarController en cierto UIViewController, después de lo cual un UITabBarController debe estallar, es necesario, por Por ejemplo, al llamar al self.performSegueWithIdentifier("nextController", sender: self)
, establecer self.hidesBottomBarWhenPushed = true
antes del método. Alse willMoveToParentViewController(parent: UIViewController?)
en el método debe configurarse como se muestra en el ejemplo del código.
en la primera UIViewController "FirstItemViewController"
@IBAction func pushToControllerAction(sender: AnyObject) {
self.hidesBottomBarWhenPushed = true
self.performSegueWithIdentifier("nextController", sender: self)
}
en la siguiente UIViewController "ExampleViewController" `
override func willMoveToParentViewController(parent: UIViewController?) {
if parent == nil {
var viewControllers = self.navigationController!.viewControllers
if ((viewControllers[viewControllers.count - 2]).isKindOfClass(FirstItemViewController.self)) {
(viewControllers[viewControllers.count - 2] as! FirstItemViewController).hidesBottomBarWhenPushed = false
}
}
}
Swift 3 código:
let viewControllers = self.navigationController!.viewControllers
if ((viewControllers[viewControllers.count - 2]) is (FirstItemViewController)) {
(viewControllers[viewControllers.count - 2] as! FirstItemViewController).hidesBottomBarWhenPushed = false
}
Test project
Eso realmente funciona, sin embargo, significa que la barra inferior se desliza desde la izquierda mientras que la vista recién insertada se desliza desde la derecha: se ve muy desconcertante. Entonces otra opción sería buena. Tal vez necesito establecer su marco? – Chris
Esto está bien si desactivo la animación, hemos decidido ... – Chris