usar restaurar como ios swift

restaurar - Ocultar barra de pestañas en la aplicación IOS Swift



como usar safari en iphone (8)

Estoy tratando de descubrir cómo ocultar la barra de pestañas en mi aplicación rápida de iOS. No me importan las animaciones sofisticadas ni nada. Es algo que puedo poner en la función ViewDidLoad ().


Antes de presionar, configure controller.hidesBottomBarWhenPushed = true

let objCreateEventVC = CreateEventVC() objCreateEventVC.hidesBottomBarWhenPushed = true self.navigationController?.pushViewController(objCreateEventVC, animated: false)


Esta es la forma programática para Swift 4.0, 4.1, 4.2, 5.0 y posterior >:

var tabBarHeight : CGFloat! func fullScreenAction(){ if navigationController?.isNavigationBarHidden ?? false { //Show navigationBar navigationController?.setNavigationBarHidden(false, animated: false) //Show tabBar tabBarController?.tabBar.isHidden = false //Update the height of tabBar if (!(tabBarController?.tabBar.frame.size.height.isEqual(to: 0))!) { tabBarHeight = self.tabBarController?.tabBar.frame.size.height } tabBarController?.tabBar.frame.size.height = tabBarHeight } else { //Hide navigationBar navigationController?.setNavigationBarHidden(true, animated: false) //Hide tabBar tabBarController?.tabBar.isHidden = true //Update the height of tabBar tabBarHeight = tabBarController?.tabBar.frame.size.height tabBarController?.tabBar.frame.size.height = 0 } }

o

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { super.viewWillTransition(to: size, with: coordinator) if navigationController?.isNavigationBarHidden ?? false { navigationController?.setNavigationBarHidden(false, animated: false) tabBarController?.tabBar.isHidden = false } }


La respuesta aceptada funciona, pero la transición a otra vista tiene una animación entrecortada (La animación de la barra de pestañas)

También quería agregar aunque la solución de Kalpesh funcionó perfectamente para mí, descubrí que cada controlador de vista tiene un atributo para hidesBottomBarWhenPushed (revise el guión gráfico). Si desea ocultar la barra de pestañas, debe marcar eso. Y funcionaría muy bien.

Actualización: no estoy seguro de si esto es algo conocido, pero esto es lo que dice la página de documentación de Apple:

Un controlador de vista agregado como elemento secundario de un controlador de navegación puede mostrar una barra de herramientas opcional en la parte inferior de la pantalla. El valor de esta propiedad en el controlador de vista superior determina si la barra de herramientas está visible. Si el valor de esta propiedad es verdadero, la barra de herramientas está oculta. Si el valor de esta propiedad es falso, la barra está visible.

Creo que esto significa que debe establecer el valor básico de hidesBottomBarWhenPushed en el controlador de vista superior (el primero en la pila de navegación). Una vez que lo haya establecido en verdadero, puede cambiarlo a falso o verdadero para los otros controladores de vista en el apilar. Pero, si el valor oculto de su controlador de vista superior ocultaBottomBarWhenPushed es falso, no mostrará una barra de pestañas para otros controladores en la pila de navegación.


No es necesario establecer la propiedad isHidden de tabBar.

Simplemente, vaya a ViewController (en StoryBoard) -> Inspector de atributos -> En la sección ''Ver controlador'' seleccione la casilla de verificación ''Ocultar barra inferior al presionar''. Esto funciona como un encanto.

Si va por el camino ''isHidden'', necesita hacer mucho manejo, es decir, hacer que aparezca de nuevo cuando regrese y también eliminar el espacio vacío inferior después de ocultar tabBar.


Para ocultar el navigationBar y el tabBar utilizo la siguiente función:

tabBarController?.hidesBottomBarWhenPushed = true

Cuando la orientación de la pantalla ha cambiado la altura del cambio de tabBar también, entonces uso la siguiente función para salir de la pantalla completa para cambiar el tamaño de la altura:

hidesBottomBarWhenPushed = true

Espero que te sea útil.


Simplemente puede usar esto en su método ViewDidLoad() .

self.tabBarController?.tabBar.hidden = true

Para Swift 3.0, 4.0, 5.0 :

self.tabBarController?.tabBar.isHidden = true

O puede cambiar la posición z de la barra de pestañas de esta manera:

self.tabBarController?.tabBar.layer.zPosition = -1

y si quieres mostrarlo de nuevo, entonces:

self.tabBarController?.tabBar.layer.zPosition = 0


Swift 3.

self.tabBarController?.tabBar.isHidden = true


También puede configurarlo en extensión (use la respuesta Dharmesh Kheni)

extension UITabBar { func tabsVisiblty(_ isVisiblty: Bool = true){ if isVisiblty { self.isHidden = false self.layer.zPosition = 0 } else { self.isHidden = true self.layer.zPosition = -1 } }