Несколько окон с UITraitCollection - PullRequest
0 голосов
/ 06 мая 2020

Я создал окно, чтобы представить на нем контроллер, но в этом контроллере я пытаюсь обработать вращение, поэтому я использовал классы размеров для обработки просмотра в альбомной и портретной ориентации.

Проблема здесь в что этот контроллер представления, представленный над новым окном, не отвечает за делегата UITraitCollection, поэтому, если я запускаю его, когда симулятор находится в портретном режиме, он не переходит в альбомный режим и наоборот.

Пытался подарить старым окном, работает! Кто-нибудь сталкивался с этой проблемой?

Edit

Когда я изменил rootViewController, добавив себя как root UINavigationController, он работает, я не понимаю, почему что произойдет, если у кого-то есть объяснение, пожалуйста, дайте мне знать?

UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:self];
[nav setNavigationBarHidden:true];
self.window.rootViewController = nav;

Вот код создания нового окна и добавления к нему контроллера:

- (void)show {
    self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
    self.window.alpha = 0;
    self.window.windowLevel = UIWindowLevelAlert;
    self.window.rootViewController = self;
    [self.window setHidden:NO];

    [UIView animateWithDuration:0.25 animations:^{
        self.window.alpha = 1;
    }];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...