Vor iOS 8 haben wir den folgenden Code in Verbindung mit unterstützten Delegate-Methoden von InterfaceOrientations und shouldAutoRotate verwendet, um die App-Ausrichtung auf eine bestimmte Ausrichtung zu erzwingen. Ich habe das folgende Code-Snippet verwendet, um die App programmgesteuert in die gewünschte Ausrichtung zu drehen. Erstens ändere ich die Ausrichtung der Statusleiste. Wenn Sie dann nur eine modale Ansicht präsentieren und sofort schließen, wird die Ansicht in die gewünschte Ausrichtung gedreht.
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:YES];
UIViewController *c = [[UIViewController alloc]init];
[self presentViewController:vc animated:NO completion:nil];
[self dismissViewControllerAnimated:NO completion:nil];
Dies schlägt jedoch in iOS 8 fehl. Außerdem habe ich einige Antworten im Stapelüberlauf gesehen, bei denen vorgeschlagen wurde, diesen Ansatz ab iOS 8 immer zu vermeiden.
Genauer gesagt ist meine Bewerbung eine universelle Art der Bewerbung. Insgesamt gibt es drei Controller.
First View-Controller - Er sollte alle Ausrichtungen auf dem iPad und nur Hochformat (Home-Taste gedrückt) auf dem iPhone unterstützen.
Second View-Controller - Er sollte unter allen Bedingungen nur Landschaftsrechte unterstützen
Third View Controller - Er sollte unter allen Bedingungen nur Landschaftsrechte unterstützen
Wir verwenden den Navigationscontroller für die Seitennavigation. Vom ersten Ansichtscontroller aus schieben wir auf Knopfdruck den zweiten auf den Stapel. Wenn der zweite Ansichts-Controller unabhängig von der Geräteorientierung eintrifft, sollte die App nur im Querformat richtig einrasten.
Unten ist meine shouldAutorotate
und supportedInterfaceOrientations
Methoden in der zweiten und dritten Ansicht Controller.
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscapeRight;
}
-(BOOL)shouldAutorotate {
return NO;
}
Gibt es eine Lösung für diese oder eine bessere Möglichkeit, einen View Controller in einer bestimmten Ausrichtung für iOS 8 zu sperren? Bitte helfen Sie !!