IPhone не авторотирует upsidedown

У меня

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>

в файле info.plist и выполнил поиск и установил каждый экземпляр shouldAutorotateToInterfaceOrientation для возврата YES. Но на iPhone он ведет себя так, как будто upsidedown не поддерживается. UpsideUp работает над портретом, пейзажи работают, updsidedown показывает пейзаж. Почему?

iPad работает отлично во всех направлениях. И они делятся .xibs


UPDATE

С тех пор я добавил

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;    
}

после каждого существующего экземпляра shouldAutorotateToInterfaceOrientation и до сих пор нет любви.

Я ориентируюсь на iOS 4.3, но мой симулятор и физическое устройство запускают iOS 6

Ответ 1

Вам нужен еще какой-то контекст, основанный на том, что вы уже пробовали? Вы используете настройку на основе NIB с контроллером навигации, контроллером панели вкладок или чем-то подобным? Если это так, вам нужно добавить категорию для поддержки, потому что вы не можете переопределить реализацию этих классов в NIB (или вообще)

fooobar.com/questions/217184/...

Говорит об iPhone 5, но проблема действительно связана с iOS6.

Ответ 2

Это по дизайну. Причина в том, что iPhone - это телефон, и если пользовательский интерфейс может быть повернут вверх ногами, у пользователя возникнут проблемы при поступлении телефонного звонка. Нет никакой хорошей последовательности для работы с перевернутым пользовательским интерфейсом. Если ваше приложение было повернуто вверх дном, экран входящего вызова должен быть перевернут относительно вашего приложения, что не будет хорошим опытом. Если бы это было не так, пользователь ответил бы на телефон, удерживая аппаратное обеспечение вверх ногами, что было бы довольно забавно, но не в хорошем смысле.