Rotation-Benachrichtigungen: warum didRotateFromInterfaceOrientation: nicht genannt?
Ich versuche zu erkennen, jede Geräteausrichtung ändern, so dass ich die Aktualisierung der Ansichten.
Möchte ich zum aktualisieren der Ansichten, ob die Ausrichtung hoch-oder Querformat, so dass ich implementiert diese Methode:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
//Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
Ich weiß, dass wenn ich das aktualisieren der Ansichten zu zeigen, die ordnungsgemäß für die aktuelle Ausrichtung werde ich brauchen, um mit der Umsetzung einiger der folgenden Methoden:
– willRotateToInterfaceOrientation:duration:
– willAnimateRotationToInterfaceOrientation:duration:
– didRotateFromInterfaceOrientation:
– willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:
– didAnimateFirstHalfOfRotationToInterfaceOrientation:
– willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:
Nun, das problem ist, dass ich nicht verstehe, warum keine dieser Methoden gefeuert, wenn ich drehen Sie den simulator.
Versuchte ich auch dieses Stück code:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
Aber immer noch nichts. So Frage ich mich, hat der simulator Feuer rotation-Benachrichtigungen?
Wenn ja, was mache ich falsch?
Ja-simulator-Benachrichtigung für rotation.
danke für die info; @Deepak: wenn Sie beziehen sich auf die Methode didRotateFromInterfaceOrientation, implementiert habe ich es in der .m-Datei meiner view-controller; wenn man darüber spricht, [[UIDevice currentDevice] beginGeneratingDeviceOrientationnotifications], habe ich diese in die Kommentarzeichen vor der viewDidLoad des Ansicht-Controllers
InformationsquelleAutor singingAtom | 2011-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die Benachrichtigung Beobachter so etwas wie
hinzufügen und die Methode
Du hast Recht @JosephH
Beachten Sie, dass im obigen code UIDeviceOrientationDidChangeNotification sollte eine Konstante, nicht der tatsächliche Wert. Es passiert einfach, dass der Wert der Konstante ist UIDeviceOrientationDidChangeNotification 🙂
ja. du hast Recht 😉
w/r/t statusBarOrientation versus currentDevice Orientierung, einige schnelle tests für meinen Teil schlage vor, dass die überprüfung statusBarOrientation in diesem use-case tatsächlich gibt die alten Orientierung, während currentDevice gibt die aktuelle/neue Ausrichtung. Auch, CurrentDevice gehören UIDeviceOrientationFaceUp und UIDeviceOrientationFaceDown, während der statusBar nicht.
InformationsquelleAutor Alkimake
Kurze Zusammenfassung, ändern:
:
Tut mir Leid, wenn ich nahm sich jemand Zeit für einen BLÖDEN Fehler von mir. Ich fand heraus, warum die Methode
– willRotateToInterfaceOrientation:duration:
würde nie aufgerufen werden. Etwas brachte meine Aufmerksamkeit auf den navigation-controller:Ich fand diesen Beitrag in einem anderen forum und ich hatte einen Blick auf die app zu delegieren. Mein code lautete wie folgt:
Das problem war, dass ich die Einstellung nicht jedes view-controller für das Fenster, aber ich war nur der Ansicht hinzufügen. Es war ein Fehler, den ich machte, aufgrund der Eile, etwas zu testen. Ich hatte zu beheben, wird der code wie folgt:
InformationsquelleAutor singingAtom