2013-11-23 23 views
64

Ho appena creato una semplice app iOS 7 utilizzando il modello Dettagli master predefinito.Qual è l'altezza della barra di navigazione in iOS 7?

In, viewDidAppear metodo MasterViewController.m, ho registrato per

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

e ha ricevuto 44 e 20 di conseguenza. Questo sembra strano, perché da quello che ho letto, la barra di navigazione in iOS 7 dovrebbe avere un'altezza di 64 punti e iniziare da 0 punti, in modo che si trovi sotto la barra di stato. Quello che ho letto sono

1) iOS 7 UI Transition Guide

Poiché la barra di stato è trasparente, la vista dietro mostra attraverso

2) Using Background Image in Navigation Bar

Se i vostri usi app un'immagine personalizzata come sfondo della barra, devi fornire un'immagine "più alta" in modo che sia finisce dietro la barra di stato . L'altezza della barra di navigazione viene modificata da 44 punti (88 pixel) a 64 punti (128 pixel).

risposta

7

ho avuto questa risposta dal libro di programmazione iOS 7, sezione di barra di posizione e Bar metriche

Se una barra di navigazione o barra degli strumenti - o di una barra di ricerca (discusso in precedenza in questo capitolo) - è quello di occupare la parte superiore dello schermo, l'iOS 7 convenzione è che la sua altezza dovrebbe essere aumentato per Underlap lo stato trasparente bar. Per renderlo possibile, iOS 7 introduce la nozione di una posizione della barra.

UIBarPositionTopAttached

Specifica che la barra è nella parte superiore dello schermo, così come la sua contenente vista. Le barre con questa posizione disegnano il loro sfondo esteso verso l'alto, consentendo al loro contenuto di sfondo di mostrare attraverso la barra di stato . Disponibile in iOS 7.0 e versioni successive.

+0

Check this out per più informazioni UIBarPositionTopAttached: https://developer.apple.com/library/ios/documentation/uikit/reference/UIBarPositioningDelegate_Protocol/index.html – JaredH

82

C'è una differenza tra la barra di navigazione e la barra di stato. La parte confusa è che sembra una caratteristica solida nella parte superiore dello schermo, ma le aree possono effettivamente essere separate in due viste distinte; una barra di stato e una barra di navigazione. La barra di stato si estende da y = 0 a y = 20 punti e la barra di navigazione si estende da y = 20 a y = 64 punti. Quindi la barra di navigazione (che è il punto in cui il titolo della pagina e i pulsanti di navigazione vanno) ha un'altezza di 44 punti, ma la barra di stato e la barra di navigazione insieme hanno un'altezza totale di 64 punti.

Qui è una grande risorsa che risolve questo problema con un certo numero di altre idiosincrasie dimensionamento in iOS7: http://ivomynttinen.com/blog/the-ios-7-design-cheat-sheet/