HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – Airplay:外部窗口镜像子视图大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
关于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,在触摸/用户交互上更新自己,并在外部屏幕上镜像这些更新.

哪个是正确的道路呢?

谢谢阅读!

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

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

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

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

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

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。