ios7 height frame statusbar navigationbar

ios7 - ¿Cuál es el alto de Navigation Bar en iOS 7?



height frame (2)

Acabo de crear una aplicación simple de iOS 7 usando la plantilla predeterminada de Detalles maestros.

En el método MasterViewController.m , viewDidAppear , viewDidAppear sesión para

self.navigationController.navigationBar.frame.size.height self.navigationController.navigationBar.frame.origin.y

y recibió 44 y 20 en consecuencia. Esto parece extraño, porque por lo que he leído, la barra de navegación en iOS 7 debería tener 64 puntos de altura y comenzar en 0 puntos, de modo que se encuentre debajo de la barra de estado. Lo que leo son

1) iOS 7 UI Guía de transición

Como la barra de estado es transparente, la vista detrás de ella se muestra a través de

2) Usar la imagen de fondo en la barra de navegación

Si su aplicación utiliza una imagen personalizada como fondo de la barra, deberá proporcionar una imagen "más alta" para que se extienda detrás de la barra de estado. La altura de la barra de navegación ha cambiado de 44 puntos (88 píxeles) a 64 puntos (128 píxeles).


Hay una diferencia entre la barra de navegación y la barra de estado. La parte confusa es que se ve como una característica sólida en la parte superior de la pantalla, pero las áreas se pueden separar en dos vistas distintas; una barra de estado y una barra de navegación. La barra de estado abarca desde y = 0 hasta y = 20 puntos y la barra de navegación abarca desde y = 20 hasta y = 64 puntos. Así que la barra de navegación (que es donde van el título de la página y los botones de navegación) tiene una altura de 44 puntos, pero la barra de estado y la barra de navegación juntas tienen una altura total de 64 puntos.

Aquí hay un gran recurso que aborda esta cuestión junto con una serie de otras idiosincrasias de tamaño en iOS7: http://ivomynttinen.com/blog/the-ios-7-design-cheat-sheet/


Obtuve esta respuesta del libro Programming iOS 7, sección Bar Position and Bar Metrics

Si una barra de navegación o una barra de búsqueda (o una barra de búsqueda (tratada anteriormente en este capítulo)) ocupará la parte superior de la pantalla, la convención iOS 7 es que su altura debe aumentar para cubrir la barra de estado transparente. Para que esto sea posible, iOS 7 introduce la noción de una posición de barra.

UIBarPositionTopAttached

Especifica que la barra se encuentra en la parte superior de la pantalla, así como su vista que lo contiene. Las barras con esta posición dibujan su fondo extendido hacia arriba, permitiendo que su contenido de fondo se muestre a través de la barra de estado. Disponible en iOS 7.0 y posterior.