2013-10-04 10 views
9

Desidero essere in grado di visualizzare l'intero schermo (andare dietro la barra di navigazione e le barre degli strumenti) con la proprietà traslucida della barra di navigazione e della barra degli strumenti impostata su NO (Voglio barre non trasparenti).È necessario il comportamento FullScreenLayout con barre NON translucide su iOS 7

Questo è stato facile da eseguire prima di iOS 7 impostando wantsFullScreenLayout su YES. Tuttavia, in iOS 7, non riesco a trovare alcun modo per farlo. Qualche idea?

risposta

33

wantsFullScreenLayout è deprecato a iOS 7. Prova impostando la proprietà edgesForExtendedLayout del controller vista UIRectEdgeAll

La Guida iOS 7 transizione menziona alcune delle nuove differenze View Controller a pagina 17. Tuttavia, la documentazione afferma che se si sta utilizzando barre opache (come nel tuo caso) si dovrebbe anche impostare:

extendedLayoutIncludesOpaqueBars = YES; 

EDIT

.. bec come impostazione predefinita è NO. Ciò è in conflitto con la Guida alla transizione di iOS 7 che afferma che il valore predefinito è YES. Essere avvertito

+2

Per impostazione predefinita, 'edgesForExtendedLayout' è impostato su' UIRectEdgeAll'. –

+0

Sì, ma è possibile che l'OP abbia potuto regolarlo da qualche parte lungo la strada. – Aaron

+0

Sicuro. La follia di questi giorni attorno a SO è quella di risolvere tutti i problemi impostando 'UIRectEdgeNone' invece di capire i problemi e risolverli correttamente. Le risposte più fastidiose che vedo sono "tornare al vecchio modo" di UIRectEdgeNone'. Ugh! –

1
picker.edgesForExtendedLayout = YES; 
+0

Si prega di estendere la risposta con la descrizione. –