Я недавно столкнулся с проблемой. Мое приложение для iPad так или иначе препятствует тому, чтобы iPad самовращался. Мои загрузки приложения UISplitView с обоими из контроллеров представления, возвращая ДА для shouldAutorotateToInterfaceOrientation:. Я настроил свой info.plist для включения "Поддерживаемых интерфейсных ориентаций" ключ со всеми четырьмя ориентациями. Когда я запускаю приложение, однако, поворачивание устройства не поворачивает splitView (даже при том, что я получаю UIDeviceOrientationDidChangeNotification). Кроме того, когда я выхожу из своего приложения в другой ориентации, которую оно запустило в главном экране iPad, не самовращается к корректному представлению, пока я не поворачиваю его снова без моего выполнения приложения.... Любые Идеи очень ценились бы....
Вы сказали, что ваша первая проблема заключается в том, что UISplitView не позволяет вам автоматически поворачиваться. Попробуйте вместо этого использовать подкласс Splitview, который включает автоповорот:
@implementation SplitViewControllerRotating
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
NSLog(@"SplitViewControllerRotating shouldAutorotate");
return YES;
}
@end
Ваша вторая проблема звучит странно. Вы сказали, что после выхода из приложения вам нужно повернуть, чтобы ваш iPad распознал ориентацию интерфейса. Не могу вам с этим помочь.
У меня сейчас была такая же проблема. Причина в том, что я случайно добавил другое представление в окно в дополнение к представлению UISplitViewController. Удаление лишнего вида заставило его работать.
Установлен ли ваш UISplitViewController в качестве корневого контроллера представления? Если нет, то это может быть причиной вашей проблемы. У меня была похожая проблема - строка состояния вращалась, но мои детальные и основные представления оставались на месте. Я переставил представления так, чтобы UISplitViewController был корневым, а затем мое "главное меню" было представлено как модальный контроллер представления поверх разделенного представления, и проблема вращения исчезла.
Согласно Руководству по программированию для iPad, "Представление контроллера разделенного представления всегда должно быть установлено как корневое представление окна вашего приложения."
Надеюсь, это поможет.