Ich habe viele Antworten auf SO gelesen, aber ich kann nicht scheinen Autorotation arbeiten auf iOS7.Behandlung Autorotation für eine Ansicht Controller in iOS7
Ich brauche nur einen View-Controller zum Rotieren, also möchte ich keine Rotationseinstellungen in meiner Info.plist einstellen.
Wie ich die Dokumentation von Apple verstehe, kann ein einzelner View-Controller globale Rotationseinstellungen überschreiben (aus Info.plist), indem einfach zwei Methoden überschrieben werden. Info.plist ist auf nur Portrait zu ermöglichen, und mein View-Controller implementiert die folgenden Methoden:
- (NSUInteger)supportedInterfaceOrientations
{
NSLog(@"%s", __PRETTY_FUNCTION__);
return UIInterfaceOrientationMaskAllButUpsideDown;
}
- (BOOL)shouldAutorotate
{
NSLog(@"%s", __PRETTY_FUNCTION__);
return true;
}
ich diese NSLog Aussagen bei einer Drehung bin zu sehen, aber nichts dreht.
Wenn ich Info.plist mit den richtigen Rotationseinstellungen konfiguriere, wird sich meine Ansicht drehen, aber nicht, wenn ich mich auf meinen View-Controller verlasse.
Nicht sicher, ob es wichtig ist, aber die Ansicht, die ich versuche zu drehen, stammt von einer .xib, die das automatische Layout verwendet.
Auch mein ViewController wird modal präsentiert und ist in einem Navigationscontroller enthalten. Ich habe versucht, nur den View-Controller zu präsentieren und das funktioniert nicht. Ich habe auch versucht, adding a category to UINavigationController zu bekommen, es ist Autorotationsrichtungen von es ist topViewController.
Gleiches Problem; Außerdem möchte ich, dass meine App iOS5-kompatibel ist, sodass ich supportedInterfaceOrientations nicht verwenden kann. Ich verwende die anderen beiden Funktionen: shouldAutorotate (NO zurückgeben) und shouldAutorotateToInterfaceOrientation (obwohl veraltet). Sie werden nicht einmal genannt! Es scheint, dass es keinen Ausweg gibt! –
Ich habe endlich aufgegeben ... überprüfte meine xib, so dass die Ansicht in einer einigermaßen vernünftigen Weise auch in Querformat-Orientierung erscheint ... :-( –