Как нам диктовать ориентацию приложения в iOS 8?
В iOS 7 мы сказали:
// ViewController1:
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate {
return YES;
}
// ViewController2, presented by modal segue from button in ViewController1
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
-(BOOL)shouldAutorotate {
return YES;
}
В результате приложение появилось в альбомной ориентации в контроллере представления 1 и в портретной ориентации в контроллере просмотра 2.
Этот код отлично работает в iOS 7, включая симуляторы iOS 7 в Xcode 6. Но он больше не работает в iOS 8. Есть две проблемы:
Представление View Controller 1 отображается в альбомной ориентации, но симулятор не вращается автоматически (это может быть просто ошибка симулятора), и (это действительно важная часть) размер представления не изменяется автоматически, поэтому он слишком узок для экрана ( справа есть большая черная область).
Представление View Controller 2 отображается в той же ориентации, что и представление View Controller 1 (альбомная, а не книжная).
Таким образом, представления контроллера представления не изменяют размеры автоматически, чтобы заполнить экран, и поддерживаемые ориентации представленного контроллера представления не соблюдаются.
Так как мы должны сделать это сейчас? Это имеет отношение к коллекциям черт? С предпочтительным размером контента? С настройкой ориентации строки состояния вручную?