Я застрял на проблеме, которая сводит меня с ума!
У меня есть приложение для iPad, начиная с TabBarViewController. Каждая вкладка имеет свой собственный ViewController и nib-файл.
Чтобы сделать ориентацию интерфейса возможной, я добавил все ориентации в свой info.plist и подклассифицировал свой TabBarController для установки:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
Каждый вид автоматически изменяет размеры и форматируется для отображения правильной ориентации, если я поворачиваю интерфейс. Если я протестирую его в симуляторе, все выглядит хорошо, и я могу вращаться между ориентациями.
Теперь точка, которая сводит меня с ума:
Если я запускаю приложение в портретном режиме, все работает нормально ... но если я запускаю в альбомной ориентации, я получаю сообщение об ошибке, и моя ориентация интерфейса по-прежнему остается портретной, а симулятор находится в ландшафтном режиме !!
Ошибка:
2011-05-24 21:50:15.011 Project[57995:207] Using two-stage rotation animation. To use the smoother single-stage animation, this application must remove two-stage method implementations.
Я проверил ориентацию следующим образом:
-(void)viewWillAppear:(BOOL)animated{
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if ((orientation == UIInterfaceOrientationLandscapeLeft) || (orientation == UIInterfaceOrientationLandscapeRight)) {
NSLog(@"Orientation: Landscape");
}
else{
NSLog(@"Orientation: Portrait");
}
}
В журнале написано, что он находится в «альбомном» режиме, если я запускаю в альбомной ориентации, но если я переключаю вкладку на другую, это выглядит ужасно, потому что вместо этого вид отображается в портретном режиме.
При переходе обратно к стартовому виду, где я попросил Ориентацию ... в журнале отображается "Портрет" ... но Симулятор по-прежнему Пейзаж!
Я не могу понять, почему Ориентация - это Портрет при старте ...
даже если я начну в Пейзаж ...
Есть идеи, как решить эту проблему?