UIViewController Drehung des Geräts delegate-Methoden sind nicht immer genannt, die in iOS5
Ich bin die Entwicklung einer iPhone-Anwendung. In dieser Anwendung UIViewController (vc1) präsentiert ein weiteres UIViewController (vc2). vc1 unterstützt sowohl hoch-und Querformat; vc2 unterstützt nur das Hochformat.
- Wenn vc2 wird vorgestellt, es fragt vc1: shouldAutorotateToInterfaceOrientation: und das gibt JA
- In iOS5 (Beta 7) willRotateToInterfaceOrientation:, didRotateFromInterfaceOrientation: sind nicht immer genannt, die für diese Sequenz. Aber dies funktioniert gut in iOS4. Ist das ein bug in iOS5?
- Das iOS 5 ist noch unter NDA
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich berichtet ein bug von Apple, und ich bekam folgende Antwort:
"Engineering hat festgestellt, dass dieses Problem sich so verhält, wie vorgesehen, auf der Grundlage der folgenden Informationen:
Die Präsentation Verhalten ist richtig, wenn es benahm sich anders als in früheren Versionen, dass war ein Fehler. Die wohl unerwartete Veränderung im Verhalten im Bezug auf das schließen von VC1, die nicht mehr bekommt, rotation Rückrufe, aber es wird das layout im portrait.
Gibt es andere Möglichkeiten, um festzustellen, was Ihre Ausrichtung ist, wenn ein view-controller legt sich selbst aus. Aus verschiedenen Gründen, die sich auf die rotation Rückrufe als problematisch erwiesen.
Im Allgemeinen viewController rotation Rückrufe in zwei Fällen auftreten:
Versuchen Sie es mit viewWillLayoutSubviews: in iOS 5."
Ich hatte vor ein ähnliches Problem beim testen meiner app auf iOS5. Das layout von Untersichten in der main-view-controller verwendet, um Durcheinander kommen, wenn die Ausrichtung geändert, wenn ein modal-view-controller aktiv war.
Was ich Tat, war zum speichern der aktuellen Orientierung-flag in der main-controller. Dieses flag wird aktualisiert, an zwei stellen in der Haupt-controller
Schreibe ich die gesamte Logik zum einstellen der Untersichten, indem Sie vergleichen die aktuelle Lage mit den gespeicherten Wert. Wenn Sie unterschiedlich sind - update die gespeicherte Orientierung, aktualisieren Sie Ihre Untersichten.