iOS 8: Wenn ein modaler Ansichts-Controller im Hochformat angezeigt wird, wird die Größe der Navigationsleiste des zugrunde liegenden Landschaftsnavigationscontrollers geändert

8

Auf iOS 8 habe ich ein merkwürdiges Verhalten bezüglich der Navigationsleiste und der Ausrichtung.

Ich habe einen Navigationscontroller, der eine unterstützte Schnittstellenausrichtung UIInterfaceOrientationMaskLandscapeRight meldet. Die Navigationsleiste hat die erwartete Höhe für die Querformatausrichtung (leider bin ich nicht berechtigt, Screenshots zu posten).

Dann initiiere ich eine modale Präsentation eines View-Controllers, der nur UIInterfaceOrientationMaskPortrait unterstützt. Wenn die Präsentationsanimation gestartet wird, scheint es so zu sein, dass die Metriken des zugrunde liegenden Navigationscontrollers in eine Porträtdarstellung geändert werden, da die Höhe der Navigationsleiste auf die Hochformatgröße ansteigt, wie oben dargestellt.

iOS 7 zeigt dieses Verhalten nicht. Was vermisse ich? Ich möchte das alte Verhalten wiederherstellen.

Hier ist der vollständige Code des obigen einfachen Beispiels:

%Vor%

In einem komplexeren Setup erlebe ich auch, dass der Text in einem UIWebView, das im Navigationscontroller enthalten ist, hochskaliert wird, wenn das Portrait-Modal dargestellt wird. Wenn Sie das Modal ablehnen, wird der Text nicht auf seine ursprüngliche Größe geändert.

    
thewulf 25.09.2014, 09:27
quelle

1 Antwort

0

Aus Mangel an einer besseren Option habe ich ein bisschen einen Hack dafür gemacht. Bevor ich die modale Ansicht zeige, mache ich einen Screenshot und lege ihn über den präsentierenden View-Controller.

Offensichtlich muss ich diesen Screenshot entfernen, wenn die Ansicht wieder erscheint

%Vor%     
Tom Bates 24.11.2014 08:25
quelle