2013-04-11 5 views
0

Я разработал универсальное приложение для iPhone и iPad. Использование опции «Поддерживаемые интерфейсные ориентации» в «Цели» (внутри проекта Xcode). Я настроил желаемую конфигурацию, одну для iPhone и другую для iPad. Нет проблем с iPhone (5.1 и 6.1), но с iPad я вижу, что в прошивке 5.1 неправильная ориентация (не такая, как указано ранее). Для iPad с iOS 6.1 приложение работает правильно.Неправильная ориентация в iPhone, развивающаяся

Я прочитал еще один вопрос stackoverflow с разрешением: проблема будет корректной, вводя следующий код.

-(NSInteger)supportedInterfaceOrientations{ 
return UIInterfaceOrientationLandscapeRight; 
} 
// pre-iOS 6 support 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
return UIInterfaceOrientationLandscapeRight; 
} 

В моем случае проблема все еще присутствует. Как я могу сделать?

ответ

1
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
    return toInterfaceOrientation == UIInterfaceOrientationLandscapeRight; 
} 

Вышеописанный способ в вашем случае всегда возвращается YES (INT больше, чем 0), таким образом, он будет возвращаться не для всех других интерфейсов ориентации.

Возможно, вы захотите реорганизовать свой код, чтобы поддерживать как ландшафтную ориентацию, так и плохую практику блокировки представления только для одной ориентации ландшафта.