ios – Airplay:外部窗口镜像子视图

ios – Airplay:外部窗口镜像子视图,第1张

概述关于airplay的设计/建筑问题. 我在AppDelegate中设置了外部显示: UIScreen *externalScreen = UIScreen.screens.lastObject;self.externalWindow = [[UIWindow alloc] initWithFrame:externalScreenFrame];self.externalWindow.screen 关于airplay的设计/建筑问题.
我在AppDelegate中设置了外部显示:
UIScreen *externalScreen = UIScreen.screens.lastObject;self.externalWindow = [[UIWindow alloc] initWithFrame:externalScreenFrame];self.externalWindow.screen = externalScreen;self.externalWindow.backgroundcolor = [UIcolor redcolor];

电视显示为红色的空白屏幕.
现在我有一个VIEwController的一些子视图,一个视图应该显示在设备和外部屏幕上.如果我在VIEwController.m中尝试这个:

[_appDelegate.externalWindow addSubvIEw:self.deviceAndTVVIEw];

deviceAndTVVIEw只会显示在外部屏幕上,而不是在设备上显示.
我需要的是在设备上安装deviceAndTVVIEw,在触摸/用户交互上更新自己,并在外部屏幕上镜像这些更新.

哪个是正确的道路呢?

谢谢阅读!

解决方法 称为AirPlay镜像的技术命名不佳.它实际上以两种模式运行,一种是将整个iOS设备镜像到AirPlay设备,另一种模式下,一旦连接了镜像AirPlay设备,开发人员就可以使用两个UIWindow / UIScreen.

您正在使用后一种模式,通常被称为“镜像”,但是您真的有一个完全独立的窗口/屏幕进行管理,应该有更好的术语来指代这种 *** 作模式.

上面所描述的内容基本上是将UIVIEw从设备窗口移动到AirPlay窗口,它的工作原理与之一致!

没有一种技术方法可以在这两个窗口上都有一个UIVIEw show的单一实例 – 它将存在于一个UIVIEw层次结构中,而不是同时存在.换句话说,如果你想要在两个屏幕上显示相同的东西,你需要创建同一个UIVIEw的两个实例,并将它们分别添加到两个窗口中,然后在它们更改时更新它们.

虽然这可能不是你期待的超级“镜像”,但这可能是一件好事,因为您的UIVIEw可能在设备上具有与AirPlay设备不同的纵横比.通过具有两个不同的视图,显示相同的内容,您可以调整AirPlay视图的大小以最好地利用设备的可用分辨率.

总结

以上是内存溢出为你收集整理的ios – Airplay:外部窗口镜像子视图全部内容,希望文章能够帮你解决ios – Airplay:外部窗口镜像子视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1106294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存