У меня есть 2 вида контроллеров, root и detail. Контроллер корневого представления поддерживает альбомную и книжную ориентацию, поэтому он имеет следующий код:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait
|| interfaceOrientation == UIInterfaceOrientationLandscapeLeft
|| interfaceOrientation == UIInterfaceOrientationLandscapeRight
|| interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}
Приведенный выше код прекрасно работает для контроллера корневого представления.
Если отображается контроллер корневого представления и пользователь переводит устройство в альбомный режим, представление корректируется соответствующим образом. С этого момента, если поместить мой детализированный контроллер в стек, он загружается в альбомном режиме. Но это не должно происходить, потому что я настроил поддержку только портретного режима. Я использую код ниже в моем детальном контроллере вида:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}