2013-10-04 4 views
9

Ich möchte in der Lage sein, meine Ansicht decken den gesamten Bildschirm (hinter den Navigations- und Symbolleisten) mit der transluzenten Eigenschaft der NavigationBar und Symbolleiste auf NO (Ich möchte nicht transparente Balken).Benötigen WillsFullScreenLayout Verhalten mit nicht durchscheinenden Balken auf iOS 7

Dies war vor iOS 7 einfach zu erreichen, indem wantsFullScreenLayout auf YES gesetzt wurde. In iOS 7 kann ich jedoch keine Möglichkeit finden, dies zu tun. Irgendwelche Ideen?

Antwort

33

wantsFullScreenLayout auf iOS ist veraltet 7. Versuchen Sie, Ihre Ansicht Controller edgesForExtendedLayout Eigenschaft UIRectEdgeAll

Die Unterschiede auf Seite 17. Allerdings Controller iOS 7 Transition Handbuch erwähnt einige der neuen Ansicht Einstellung heißt es in der Dokumentation, wenn Sie, dass ist lichtundurchlässige Balken (wie in Ihrem Fall) Sie setzen sollen:

extendedLayoutIncludesOpaqueBars = YES; 

EDIT

.. bec ause standardmäßig ist es NO. Dies steht im Widerspruch zum iOS 7 Transition Guide, in dem der Standardwert YES angegeben ist. Sei gewarnt.

+2

Standardmäßig ist 'kitsForExtendedLayout' auf' UIRectEdgeAll' gesetzt. –

+0

Ja, aber es ist möglich, dass das OP es irgendwo auf dem Weg angepasst hat. – Aaron

+0

Sicher. Die Begeisterung in diesen Tagen um SO ist, alle Probleme zu lösen, indem man auf "UIRectEdgeNone" setzt, anstatt die Probleme zu verstehen und sie richtig zu lösen. Die nervigsten Antworten, die ich sehe, sind "gehe einfach zurück auf den alten Weg von' UIRectEdgeNone'. Ugh! –

1
picker.edgesForExtendedLayout = YES; 
+0

Bitte erweitern Sie Ihre Antwort mit einer Beschreibung. –

Verwandte Themen