Как повернуть только один контроллер вида в альбомную ориентацию в iOS 13? - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь повернуть один вид, в то время как все остальные виды зафиксированы как портрет.

Я пробовал этот код выше, и он отлично работает в 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), пользовательский интерфейс находится в портретной ориентации. Я должен снова повернуть устройство. Как исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...