iOS - Sperre eine bestimmte UIViewController, um eine bestimmte Ausrichtung
Meine Anwendung unterstützt alle 4 Orientierung, ich habe eine UIViewController
die in LandscapeRight
.
Ich bin mit UINavigationController
zu drängen, dass die UIViewController
möchte ich, dass UIViewController
werden nur in UIInterfaceOrientationLandscapeRight
aber wenn ich das Telefon drehen, schaltet es zurück, um anderen Orientierung.
-(BOOL)shouldAutorotate{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationLandscapeRight;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
return UIInterfaceOrientationLandscapeRight;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
einfach entfernen Sie diese shouldAutorotate, supportedInterfaceOrientations und preferredInterfaceOrientationForpresentation.
und fügen Sie diese an den viewcontroller, den Sie anzeigen möchten Landschaft nur.
tatsächlich, dies ist eine ähnliche Frage, die mit der Lösung hier.
Wie Kraft-view-controller-Orientierung in iOS 8?
Müssen Sie erstellen eine sub-Klasse von
UIViewController
. Und anwenden-Schnittstelle Orientierung bezogenen änderungen in diesem sub-Klasse. Erweitern Sie Ihre view-controller, den Sie sperren möchten Ausrichtung mit der sub-Klasse. Ich gebe ein Beispiel dafür.Ich Klasse erstellen, die nur zeigt, Querformat für view-controller.
LandscapeViewController
ist eine Unterklasse vonUIViewController
in denen Sie es zu tun haben mit der Orientierung.LandscapeViewController.h:
LandscapeViewController.m:
Erweitern Sie Ihr Blickfeld-controller mit den oben Unterklasse.
Beispiel: