У меня есть странная проблема с ландшафтным приложением. Он вращается только отлично до пейзажа влево или вправо, но когда приложение запускает его, оно поворачивается на 180 градусов вместо того, чтобы просто запускать в правильной ориентации.
Я сделал все, что мог найти в StackOverflow и Google. Информационный слой содержит:
Протестировано: iOS 7.1 полностью игнорирует начальную настройку ориентации запуска в plist. Я попробовал как влево, так и вправо, а затем удалил ключ из info plist. Нет эффекта. Приложение всегда запускается в альбомном режиме с помощью кнопки "Дом" слева, игнорируя эту настройку.
При повторной попытке я удалю приложение и очищу сборку.
В App Delegate у меня есть это:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotate {
return YES;
}
В контроллере корневого представления:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotate {
return YES;
}
Некоторые ландшафтные приложения, такие как Tiny Wings, запускаются в правильной ориентации, поэтому я знаю, что что-то не так с моим проектом. Каков секретный соус, чтобы заставить это работать?