Ответ 1
У меня была аналогичная проблема, и я исправил ее, удалив ключи UIMainStoryboardFile и UIMainStoryboardFile ~ ipad из списка свойств информации о приложении
Посмотрите на это обсуждение https://devforums.apple.com/message/1064397#1064397
У меня есть приложение, первоначально разработанное для iOS 7.1, которое я сейчас тестирую на iPad через Xcode 6.1. При работе на iPad под управлением 7.1 или в 7.1-симуляторе приложение функционирует так, как ожидалось. На 8.1 iPad или 8.1 симуляторе кажется, что вращение не обрабатывается надлежащим образом. Я вижу, что строка состояния находится сверху, но само приложение не изменяется. Я понимаю, что это связано с тем, что методы ротации устарели в iOS 8. Мой вопрос... теперь что???
Я не нашел никакой документации, которая дает краткий ответ о том, как обрабатывать ротацию с использованием новых механизмов iOS 8. Есть ли способ изящно обрабатывать вращения в iOS 8 так же, как я обрабатывал их в iOS 7? Я даже не вижу, как называются старые методы вращения, поэтому кажется, что это больше, чем типичная "усталость". Кажется, что они вообще устранили вызовы этих методов.
Любая помощь или совет?
У меня была аналогичная проблема, и я исправил ее, удалив ключи UIMainStoryboardFile и UIMainStoryboardFile ~ ipad из списка свойств информации о приложении
Посмотрите на это обсуждение https://devforums.apple.com/message/1064397#1064397
Используете ли вы раскадровки? Если это так, у вас может быть старый код в вашем методе application didFinishLaunchingWithOptions
.
Попробуйте удалить следующую строку кода и любые другие, связанные с UIWindow
:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
Другие сказали удалить строки из вашего файла plist, но это не обязательно.
Используйте viewWillTransitionToSize:withTransitionCoordinator:
следующим образом:
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
// Will rotate
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
// Will animate rotation
} completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
// Did rotate
}];
}
Вы должны посмотреть видео WWDC 2014 "Просмотр контроллеров в iOS 8", где это обсуждается.