获取AirPlay投屏的UIWindow
Get UIWindow of AirPlay mirroring screen
我试图在使用AirPlay 镜像时获取外部屏幕(例如电视)的UIWindow 对象。棘手的部分:它确实是 AirPlay 镜像,而不是单独的显示,因为我们使用的是 AirPlay 的内置功能,而不是设置一个新的 UIWindow 对象并将其分配给新屏幕。我的老板希望应用程序以各种方式镜像设备,但能够通过将子视图(教程覆盖)添加到外部 window,将它们添加到辅助屏幕的 UIWindow。
我尝试过的:
- 我可以轻松地从
UIScreenDidConnectNotification
或 [UIScreen screens]
获取辅助 UIScreen 对象,但是 as far as I know UIScreen 没有对显示的 UIWindow 的引用。
- 由于我们只是使用 AirPlay 自动生成的显示,我无法在创建 UIWindow 的过程中保存对它的引用。
- 我检查过
[[UIApplication sharedApplication] windows]
,它似乎不包括与外部显示器关联的 UIWindow。 (至少,window.screen
对象中的 none 与电视首次连接时我从 UIScreenDidConnectNotification
获得的 UIScreen 对象匹配,而当电视连接时 [[UIScreen screens] count]
上升 1已连接,windows 的计数保持不变。)
有没有办法使用 AirPlay 镜像访问 window 辅助屏幕?或者,是否有一种方法可以有效地实现设备的应用程序范围镜像,从而更好地控制与电视关联的 UIWindow 对象?
声明:
To re-enable mirroring after displaying unique content, simply remove
the window you created from the appropriate screen object.
这意味着当镜像处于活动状态时,没有window链接到它,镜像只使用主屏幕的window。
只有一个window,我认为这种模式下不可能显示不同的内容。
如果您想显示不同的内容,您必须创建一个新的 window 并将其分配给该屏幕。
我试图在使用AirPlay 镜像时获取外部屏幕(例如电视)的UIWindow 对象。棘手的部分:它确实是 AirPlay 镜像,而不是单独的显示,因为我们使用的是 AirPlay 的内置功能,而不是设置一个新的 UIWindow 对象并将其分配给新屏幕。我的老板希望应用程序以各种方式镜像设备,但能够通过将子视图(教程覆盖)添加到外部 window,将它们添加到辅助屏幕的 UIWindow。
我尝试过的:
- 我可以轻松地从
UIScreenDidConnectNotification
或[UIScreen screens]
获取辅助 UIScreen 对象,但是 as far as I know UIScreen 没有对显示的 UIWindow 的引用。 - 由于我们只是使用 AirPlay 自动生成的显示,我无法在创建 UIWindow 的过程中保存对它的引用。
- 我检查过
[[UIApplication sharedApplication] windows]
,它似乎不包括与外部显示器关联的 UIWindow。 (至少,window.screen
对象中的 none 与电视首次连接时我从UIScreenDidConnectNotification
获得的 UIScreen 对象匹配,而当电视连接时[[UIScreen screens] count]
上升 1已连接,windows 的计数保持不变。)
有没有办法使用 AirPlay 镜像访问 window 辅助屏幕?或者,是否有一种方法可以有效地实现设备的应用程序范围镜像,从而更好地控制与电视关联的 UIWindow 对象?
声明:
To re-enable mirroring after displaying unique content, simply remove the window you created from the appropriate screen object.
这意味着当镜像处于活动状态时,没有window链接到它,镜像只使用主屏幕的window。
只有一个window,我认为这种模式下不可能显示不同的内容。
如果您想显示不同的内容,您必须创建一个新的 window 并将其分配给该屏幕。