Ich habe eine iPhone app Ich aktualisiere auf iOS 6, die Rotationsprobleme hat. Ich habe eine UITabBarController
mit 16 UINavigationCotrollers
. Die meisten Unteransichten können im Hoch- oder Querformat arbeiten, einige davon jedoch nur im Hochformat. Bei iOS 6 rotieren Dinge, wenn sie nicht sollten.iOS 6 UITabBarController unterstützt Orientierung mit aktuellen UINavigation Controller
Ich versuchte, den TabBarController Subklassen die supportedInterfaceOrienations
der aktuelle Navigation der ausgewählten Viewcontroller zurückzukehren:
- (NSUInteger)supportedInterfaceOrientations{
UINavigationController *navController = (UINavigationController *)self.selectedViewController;
return [navController.visibleViewController supportedInterfaceOrientations];
}
Das hat mich näher. Der Ansichts-Controller rotiert nicht, wenn er sichtbar ist, aber wenn ich im Querformat bin und die Tabs wechsle, ist der neue Tab im Querformat, auch wenn er nicht unterstützt wird.
Idealerweise befindet sich die App nur in der unterstützten Orientierung des aktuellen sichtbaren View-Controllers. Irgendwelche Ideen?
Das funktioniert fast für mich. Das Problem ist, wenn ich bereits in der Landschaft bin, wenn ich Registerkarten zu einem Porträt only verschiebe, ist es noch in der Landschaft. Rotierendes Hochformat fixiert es und es wird nicht zurück in die Landschaft gedreht, aber ich brauche es immer noch im Hochformat, wenn es zum ersten Mal geladen wird. – Ryan
Ich bin mir nicht sicher, was genau Sie tun müssen, um es zu drehen, aber ich wette, Sie tun es in - (void) viewWillLayoutSubviews. Ich bin vielleicht nicht genau richtig mit diesem Methodennamen aus dem Speicher. Meine eigenen Ansichten, wo ich diesen Code verwendet habe, ändern sich komplett, wenn sie gedreht werden, und ich benutze diese Methode, um sie wieder in den Portrait-Modus zu versetzen. Sie könnten auch etwas in -viewWillDisappear versuchen. Vielleicht [self.view setNeedsDisplay]. Ich bin im Moment nicht bei Xcode, also sind dies nur Ideen, die ich in Ihrem Fall untersuchen würde. –
Schön! Klappt wunderbar! – Dennso