使用iOS Swift检测外部屏幕

时间:2017-11-24 23:23:28

标签: ios swift uiscreen

我正在尝试使用iOS Swift检测外部显示器。第二个显示器与Lightning数字AV适配器连接。我已经进口了UIKIt。当我运行screen.count下面的代码时,即使我已经连接了第二个屏幕并启动镜像,我也会启动应用程序。

    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 个答案:

答案 0 :(得分:1)

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

<强>更新

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

答案 1 :(得分:0)

我发现如果我设置通知,UIScreen.screens.count只会确认外部第二个屏幕。一旦我在NotificationCenter中设置观察员,我终于得到了UIScreen.screens.count&#39;到== 2.然后我就可以将视图分配给UIScreen.screens 1

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