Принудительно заставить контроллеры менять свою ориентацию в книжной или альбомной ориентации

У меня есть следующие контроллеры, (я выбрал все типы режимов ориентации в iPad)

Вот мой макет раскадровки iPad

Custom NavigationController > Loading Ctrl > Main Controller.

Моя пользовательская навигация содержит

-(BOOL)shouldAutorotate
{
    return [[self.viewControllers lastObject] shouldAutorotate];
}

-(NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}

В моем контроллере загрузки

-(BOOL)shouldAutorotate
{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
    if (UIUserInterfaceIdiomPad == UI_USER_INTERFACE_IDIOM())
        return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
    else
        return UIInterfaceOrientationMaskPortrait;
}

SupportedInterfaceOrientations вызывается как обычно, и все кажется нормальным, но когда я нажимаю на главном контроллере с помощью executeSegue

-(NSUInteger)supportedInterfaceOrientations
{
    if (UIUserInterfaceIdiomPad == UI_USER_INTERFACE_IDIOM())
        return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
    else
        return UIInterfaceOrientationMaskPortrait;
} 

Больше никаких звонков в MainController. Это почему?

Ответы на вопрос(2)

Ваш ответ на вопрос