Обнаружение внешнего экрана с помощью iOS Swift
Я пытаюсь определить внешний дисплей с помощью iOS Swift. Второй дисплей связан с цифровым AV-адаптером Lightning. Я импортировал UIKIt. Когда я запускаю код ниже, screens.count просто дает мне 1, даже если я запускаю приложение с уже прикрепленным вторым экраном и зеркалированием.
override func viewDidLoad() {
super.viewDidLoad()
// Initialize an external screen if one is present
let screens = UIScreen.screens
print(screens.count)
txtDisplay.text = String(screens.count)
if screens.count > 1 {
print("A second screen has been detected")
//An external screen is available. Get the first screen available
//self.initializeExternalScreen(externalScreen: screens[1] as UIScreen)
}
}
Я загрузил демонстрационные приложения, которые утверждают, что имеют эту функциональность, но я просто получаю тот же результат. Любые идеи, как я могу обнаружить второй дисплей с помощью Swift?
Спасибо
2 ответа
Я обнаружил, что UIScreen.screens.count будет подтверждать внешний второй экран, только если я настрою уведомления. После того, как я настроил наблюдателей в NotificationCenter, я, наконец, получил "UIScreen.screens.count" в == 2. Затем я смог назначить представление для UIScreen.screens 1
Эта страница содержит подробную информацию: http://tutorials.tinyappco.com/Swift/AdditionalScreen
Зеркальные экраны не представлены на экранах Array. Вместо этого используйте главное свойство экрана mirroredScreen.
ОБНОВИТЬ:
let mirrored = UIScreen.main.mirrored
self.initializeExternal(external: mirrored)