如何仅在外部屏幕上显示UIViewAirPlay /有线连接

问题描述

我没有经验通过Airplay展示一些观点。我在didFinishLaunchingWithOptions中实现了configureAuxilliaryInterface()。

 //MARK: Configure Auxilliary Interface
func  configureAuxilliaryInterface(){
    handleUIScreenDidConnect()
    handleUIScreenDiddisconnect()
    handleUIScreenDidChange()
}

//MARK: Handle DidConnect Auxilliary Screens
func handleUIScreenDidConnect(){
    NotificationCenter.default.addobserver(forName: UIScreen.didConnectNotification,object: nil,queue: nil) { (notification) in
        // Get the new screen information.
        let newScreen = notification.object as! UIScreen
        var screenDimensions = newScreen.bounds
        screenDimensions.origin = CGPoint(x: 100,y: 0)
        // Configure a window for the screen.
        let newWindow = UIWindow(frame: screenDimensions)
        newWindow.screen = newScreen
        
        // Save a reference to the window in a local array.
        self.additionalWindows.append(newWindow)
        
        // Install a custom root view controller in the window.
        self.mirroring(set: false)
    }
}

//MARK: Handle Diddisconnect Auxilliary Screens
func handleUIScreenDiddisconnect(){
    NotificationCenter.default.addobserver(forName: UIScreen.diddisconnectNotification,queue: nil) { (notification) in
        
        let screen = notification.object as! UIScreen
        
        // Remove the window associated with the screen.
        for window in self.additionalWindows {
            if window.screen == screen {
                // Remove the window and its contents.
                let index = self.additionalWindows.firstIndex(of: window)
                self.additionalWindows.remove(at: index!)
            }
        }
    }
}

//MARK: Handle Didchange in Auxilliary Screens
func handleUIScreenDidChange(){
    NotificationCenter.default.addobserver(forName: UIScreen.capturedDidChangeNotification,queue: nil) { (notification) in
        let screen = notification.object as! UIScreen
        
        // Remove the window associated with the screen.
        for window in self.additionalWindows {
            if window.screen == screen {
                print(window)
            }
        }
    }
}

它将在外部显示器上显示整个iPad屏幕。如何仅在外部屏幕上显示UIView并应在运行时呈现,因为视图将发生更改。应用程序还具有暂停Airplay的功能。我该如何实现?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...