Ich habe einen UITabBarController im Hochformat vorgestellt. Auf einer der Registerkarten habe ich eine Schaltfläche, die einen UIViewController modal anzeigt (Ein einfacher Storyboard-Übergang führt die Aktion aus).Modal View Controller Force Querformat in iOS 6
Ich möchte, dass diese modale Ansicht im Landscape-Modus angezeigt wird, aber ich kann es nicht automatisch drehen.
Ich habe dies in der modal Ansichten Controller
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
Ich habe landscapeLeft auf die .plist unterstützt Orientierungen hinzugefügt (obwohl dies ermöglicht auch die TabBar gedreht werden, was ich nicht will)
ich habe auch
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;
dies den ViewDidLoad der modalen Ansicht hinzugefügt, aber ich kann es einfach nicht von selbst zu drehen bekommen.
Dank
EDIT ----
Es shouldAutoRotate scheint genannt nicht einmal wird!
Auch ich versuche, die Ausrichtung zu erkennen und dieser Code unten zeigt immer 2, unabhängig von der Ausrichtung!
if ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortrait) {
NSLog(@"1");
self.hostView.frame = CGRectMake(0, 60, 200, 255);
} else {
NSLog(@"2");
self.hostView.frame = CGRectMake(0, 45, 480, 255);
}
EDIT 2 ---
Mein schlecht. Ich denke, ich hätte erwähnen sollen, dass ich iOS 6 benutze. Das Display rotiert automatisch auf iOS 5. shouldAutorotateToInterfaceOrientation ist veraltet, also muss ich über die neuen Methoden nachlesen.
aus meinen bisherigen Erfahrungen mit diesem gibt es keine Möglichkeit, eine ViewController in einer bestimmten Ausrichtung zu erzwingen. Sie können wählen, ob die Ausrichtung geändert werden soll oder nicht, aber nicht erzwingen. es war ein bummer für mich ... – KDaker
Das ist ein bisschen dumm wirklich! Ich habe ein Diagramm, das nur in Landscape passt. Also sagst du Apple soll ich es zeigen, bis der Nutzer sein Gerät dreht. Das klingt nicht richtig, obwohl ich keine Lösung gefunden habe, damit Sie Recht haben. – Darren