2015-08-26 3 views
0

У меня есть приложение для киоска iPad, которое отображает видео на внешнем мониторе, подключенном через кабель HDMI. Ориентация устройства в общих настройках приложений установлена ​​на «Пейзаж влево» или «Пейзаж справа». Я хочу, чтобы приложение отображалось в альбомной ориентации на iPad и на внешнем мониторе. Когда я запускаю приложение в iOS7, контроллер просмотра внешних мониторов отображается правильно в альбомной ориентации, но при работе под iOS 8 контроллер внешнего монитора внешнего монитора поворачивается на 90 градусов против часовой стрелки, в портретную ориентацию.ViewController ориентация на внешнем мониторе

Как настроить внешний монитор на правильную ориентацию ландшафта? Что изменилось между iOS 7 и 8, чтобы вызвать такое поведение?

ответ

0

У меня была аналогичная проблема с приложением для ландшафтного iPad, которое поддерживает трансляцию. На экране iPad все работает нормально, но на внешнем дисплее, начиная с @ iOS 8.0, начались проблемы с ориентацией. Я пробовал много вещей, что помогло в этих двух исправлениях:

В методе вашего ViewController верните NO.

Реализовать application:supportedInterfaceOrientationsForWindow: метод:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)_window 
    { 
     if ([UIScreen mainScreen] == _window.screen || !_window) 
     { 
      return UIInterfaceOrientationMaskAll; 
     } 
     else 
     { 
      return UIInterfaceOrientationMaskPortrait; 
     } 
    } 

Вторая часть исправления может потребоваться некоторые изменения на вашей стороне, так как вы не используете AirPlay, но я надеюсь, что это может помочь привести вас к правильному решению , Удачи!

+0

Спасибо, Чонч. Это сработало и для меня. Я не совсем понимаю, ПОЧЕМУ он работает, но теперь мой внешний монитор правильно отображается в альбомной ориентации как для iOS 7 и 8. – Alpinista

+0

Я очень рад это слышать. Я помню, как это расстраивало, когда я занимался этой проблемой ... :-) –

Смежные вопросы