Я пытаюсь повернуть один вид, в то время как все остальные виды зафиксированы как портрет.
Я пробовал этот код выше, и он отлично работает в iOS 10, 11 и 12.
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
// //Solution 1:
// UIViewController *controller = [self topViewController:window.rootViewController];
// if ([controller respondsToSelector:@selector(canRotate)]) {
// return UIInterfaceOrientationMaskLandscape;
// }
// return UIInterfaceOrientationMaskPortrait;
//Solution 2
if ([self.window.rootViewController.presentedViewController isKindOfClass:[LLViewController class]])
{
LLViewController *secondController = (LLViewController *) self.window.rootViewController.presentedViewController;
if (secondController.isPresented) {
return UIInterfaceOrientationMaskLandscape;
}
else return UIInterfaceOrientationMaskPortrait;
}
else return UIInterfaceOrientationMaskPortrait;
}
В iOS 13 мой контроллер представления (LLViewController) может вращаться. Но в первый раз, когда я go подключаюсь к этому контроллеру представления (LLViewController), пользовательский интерфейс находится в портретной ориентации. Я должен снова повернуть устройство. Как исправить?