使用 iOS Swift 检测外部屏幕

Detecting External Screen with iOS Swift

我正在尝试使用 iOS Swift 检测外部显示器。第二台显示器与闪电数字 AV 适配器相连。我已经导入了 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 检测第二个显示器的任何想法?

谢谢

镜像屏幕未在屏幕数组中表示。而是使用主屏幕 mirroredScreen 属性

更新:

let mirrored = UIScreen.main.mirrored
self.initializeExternal(external: mirrored)

我发现如果我设置了通知,UIScreen.screens.count 只会确认外部第二屏幕。一旦我在 NotificationCenter 中设置了观察者,我终于得到 'UIScreen.screens.count' 到 == 2。然后我能够将视图分配给 UIScreen.screens1

此页面包含详细信息: http://tutorials.tinyappco.com/Swift/AdditionalScreen