iOS8 Interface Rotation Methoden nicht aufgerufen
Seit willAnimateRotationToInterfaceOrientation:duration:
ist veraltet in iOS8, man braucht viewWillTransitionToSize:withTransitionCoordinator:
stattdessen.
Jedoch, diese Methode nicht aufgerufen in meinem view controller auf iOS8.
Gibt es etwas, was ich implementieren muss, um für diesen Rückruf zu arbeiten?
Ich nichts finden können in der Dokumentation. Das einzige, was ich finden konnte, war, dass es gehört zu der neuen UIContentContainer
Protokoll. Aber selbst wenn, ich bin das hinzufügen dieser auf die Protokolle von meinem controller explizit, es funktioniert nicht.
Irgendwelche Ideen?
InformationsquelleAutor der Frage tschubotz | 2014-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
viewWillTransitionToSize:withTransitionCoordinator:
scheint zu funktionieren nur, wenn die Schnittstelle ist eigentlich Los, um die Größe zu ändern, also um 90 Grad gedreht. Wenn Sie eine Maske auf Ihrem layout, dass nur die Landschaft ermöglicht, wenn die rotation um 180 Grad, die Schnittstelle Größe nicht ändern, so dass diese Methode scheint nicht genannt zu werden.Ich gearbeitet haben, um dieses in meine app, indem Sie stattdessen die Registrierung auf
UIDeviceOrientationDidChangeNotification
Meldung wie:(In meinem view controller ist
viewWillAppear
):(In meinem
viewWillDisappear
[erinnern Sie sich Abmelden])Meine
deviceOrientationDidChange:
aussieht:InformationsquelleAutor der Antwort line72
Als pro die docsdenken Sie daran, rufen Sie
super
Sonst child-view-Controller wird nicht erhalten, die Nachricht weitergeleitet zu Ihnen.
InformationsquelleAutor der Antwort Robert
Ich weiß, diese Frage ist ein bisschen alt, aber ich denke, das Problem könnte gelöst werden, einen anderen Weg für einige, die möglicherweise über Sie kommen. Wenn Sie versuchen zu laden, eine Sicht, die Teil einer ANDEREN Steuerung mithilfe
addSubview(controller.view)
Sie müssen auch hinzufügen, dass die Steuerung an das übergeordnete als auch (möglicherweise der Ansicht, die Sie hinzufügen, um den controller). Wenn Sie nicht hinzufügen die Steuerung zu einem übergeordneten, die Sie nie erhalten, die updates für die Größe ändert. Wir fanden später heraus, der Grund für Apple ' s API ändern; mit dem iPad pro, Ihrer Größenklasse ändern können, ohne rotation mit der multi-tasking-Fähigkeit. Dies wird auch die Methode aufrufen:In der übergeordneten Klasse, wenn Sie das überschreiben der oben genannten Methode, stellen Sie sicher, dass Sie anrufen super, wie gut, oder Sie wird nur einen anderen Weg finden, schlagen Sie Ihren Kopf gegen eine Wand...
InformationsquelleAutor der Antwort Sepui