gpt4 book ai didi

ios - 获取AirPlay镜像画面的UIWindow

转载 作者:行者123 更新时间:2023-12-01 15:58:54 29 4
gpt4 key购买 nike

我试图在使用 AirPlay 镜像时获取外部屏幕(如电视)的 UIWindow 对象。棘手的部分:它确实是 AirPlay 镜像,而不是单独的显示器,因为我们使用的是 AirPlay 的内置功能,而不是设置新的 UIWindow 对象并将其分配给新屏幕。我的老板希望应用程序以各种方式镜像设备,但能够通过将 subview (教程叠加)添加到辅助屏幕的 UIWindow 来专门将 subview (教程覆盖)添加到外部窗口。

我试过的:

  • 我可以从 UIScreenDidConnectNotification 轻松获取辅助 UIScreen 对象或 [UIScreen screens] , 但是 as far as I know UIScreens 没有对正在显示的 UIWindow 的引用。
  • 由于我们只是使用 AirPlay 自动生成的显示,因此我无法在 UIWindow 创建期间保存对它的引用。
  • 我查过[[UIApplication sharedApplication] windows] ,并且它似乎不包括与外部显示器关联的 UIWindow。 (至少,没有一个 window.screen 对象与我在电视首次连接时从 UIScreenDidConnectNotification 获得的 UIScreen 对象匹配,而当连接电视时 [[UIScreen screens] count] 增加 1,但窗口数保持不变。)

  • 有没有办法使用 AirPlay 镜像访问辅助屏幕的窗口?或者,有没有一种方法可以有效地实现设备的应用程序范围镜像,从而可以更好地控制与电视关联的 UIWindow 对象?

    最佳答案

    苹果的这份文件:
    https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/WindowAndScreenGuide/UsingExternalDisplay/UsingExternalDisplay.html

    指出:

    To re-enable mirroring after displaying unique content, simply remove the window you created from the appropriate screen object.



    这意味着当镜像处于事件状态时,没有与之链接的窗口,并且镜像仅使用主屏幕的窗口。

    只有一个窗口,我认为在这种模式下不可能显示不同的内容。

    如果要显示不同的内容,则必须创建一个新窗口并将其分配给该屏幕。

    关于ios - 获取AirPlay镜像画面的UIWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34165505/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com