Esto no es algo que pueda caber en unas pocas líneas de código, pero este es un enfoque que podría funcionar para usted.
Para ocultar la barra de navegación:
[[self navigationController] setNavigationBarHidden:YES animated:YES];
mostrarlo:
[[self navigationController] setNavigationBarHidden:NO animated:YES];
Documentación para este método es available here.
Para escuchar un "doble clic" o doble toque, subclase UIView
y crear una instancia de esa subclase de la propiedad del controlador de vista view
.
En la subclase de vista, anule su método -touchesEnded:withEvent:
y cuente cuántos toques obtiene en un período de tiempo, midiendo el tiempo entre dos toques consecutivos, quizás con -timeIntervalSinceDate:
. O pruebe el resultado en [touch tapCount]
.
Si obtiene dos toques, su vista subclasificada emite un NSNotification
que su controlador de vista ha registrado para escuchar.
Cuando su controlador de vista escucha la notificación, activa un selector que oculta o muestra la barra de navegación usando el código mencionado, dependiendo del estado visible actual de la barra de navegación, al acceder leyendo la propiedad isHidden
de la barra de navegación.
EDITAR
La parte de mi respuesta para el manejo de eventos del grifo es probablemente útil de vuelta antes de IOS 3.1. La clase UIGestureRecognizer
es probablemente un mejor enfoque para manejar doble toque, en estos días.
EDIT 2
La forma Swift para ocultar la barra de navegación es:
self.navigationController?.setNavigationBarHidden(true, animated: true)
mostrarlo:
self.navigationController?.setNavigationBarHidden(false, animated: true)
Si se trata de una aplicación de visor de fotos, ocultando la barra de navegación provoca un salto desagradable para la imagen ver, que no he encontrado cómo prevenir. 3.2 le permite usar UIGestureRecognizer para doble toque, que es un enfoque mucho más ordenado (para iPad solo atm). –
Muchas gracias Alex, me proporcionó mucha información, voy a seguir sus directrices ... gracias a la tonelada – iscavengers
¿Es esto lo mismo que se aplica para las barras de tabulación? si quiero ocultar/mostrar las barras de pestañas ¿qué debo hacer? saludos shishir – iscavengers