Принудительно заставить контроллеры менять свою ориентацию в книжной или альбомной ориентации
У меня есть следующие контроллеры, (я выбрал все типы режимов ориентации в 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. Это почему?