deaktiviere Autorotate auf einem einzelnen UIViewController in iOS6
Habe ich ein Projekt mit UINavigationController
und segues
arbeiten richtig gut, alle drehen richtig, die Sache ist die... ich will nur deaktivieren autorotation
auf eine bestimmte UIViewController
.
Ich versuchte dies:
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
return NO;
}
//New Autorotation support for iOS 6.
- (BOOL)shouldAutorotate NS_AVAILABLE_IOS(6_0){
return NO;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
aber es funktioniert nicht, mein UIViewController
hält rotierende automatisch, jede Hilfe wird willkommen sein 🙂
InformationsquelleAutor der Frage Jesús Ayala | 2013-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pro die View Controller programming Guide
Wenn Sie möchten, um vorübergehend deaktivieren Sie die automatische rotation, vermeiden Sie die Manipulation der Orientierung Masken, dies zu tun. Überschreiben Sie stattdessen die shouldAutorotate-Methode auf die erste view-controller. Diese Methode wird aufgerufen, bevor eine autorotation. Wenn es gibt KEINE, dann wird die rotation ist unterdrückt.
So müssen Sie die Unterklasse 'UINavigationController', implementieren shouldAutorotate und verwenden Sie Ihre navigation controller-Klasse in das storyboard.
InformationsquelleAutor der Antwort GayleDDS
Gonna komplette GayleDDS Antwort für die Neulinge
gerade Hinzugefügt eine Unterklasse von UINavigationController als er vorschlug, wie diese:
MonthCalendarVC ist der viewController ich will nur im portrait-Modus (fixed), dann soeben das importieren meiner appdelegate.m
und das ist es
InformationsquelleAutor der Antwort Jesús Ayala
Werfen Sie einen Blick auf diese anderen Ansatz :
http://www.sebastianborggrewe.de/only-make-one-single-view-controller-rotate/
Müssen Sie nur umsetzen canRotate in einem ViewController zu ermöglichen rotation.
Funktioniert einwandfrei auf iOS 7.
2015-01-30
Da sebastian ' s Seite scheint nicht zu funktionieren (Fehler 404), ist dies meine interpretation seiner Lösung :
Im Gegensatz zu sebastian, ich ziehe mit einem Protokoll (wie interface in C#) zu vermeiden, erstellen Sie eine Methode "-(void)canrotate:" in jedem meiner view-controller.
InformationsquelleAutor der Antwort Christophe
Versuchen zu implementieren, die in Ihrer UIViewController:
InformationsquelleAutor der Antwort zero3nna