gpt4 book ai didi

ios - 在 iPad 上显示一个东西,在 Apple TV 上显示另一个?

转载 作者:可可西里 更新时间:2023-11-01 03:06:40 26 4
gpt4 key购买 nike

我有一个应用创意,但不确定是否可行。

我想知道我是否能够在 iPad(或 iPhone)上显示一件事屏幕,同时在 Apple TV 上呈现完全不同的东西。比如一个问答app,问题在Apple TV上显示,多个选项在iPad上列出,供用户选择。

我不确定这是否可行,或者您是否只能将 iPad 屏幕镜像到 Apple TV。

如果有一些“概念验证”示例代码,我很乐意看一看。太感谢了。克里斯

最佳答案

事实证明,支持两个屏幕非常简单:iOS 设备的主屏幕和辅助屏幕(外部显示器或 Apple TV 上的镜像)。

基于博文 Creating a Dual-Screen AirPlay Experience for iOS and Apple TV 中的信息,您不需要做太多事情。

基本上您需要检查UIScreen 中的screens 属性。您还应该收听一些通知(UIScreenDidConnectNotificationUIScreenDidDisconnectNotification),这样您就可以知道应用运行时屏幕数量是否发生变化。

有了第二个屏幕后,您需要为其创建一个新窗口。可以使用如下代码:

if ([UIScreen screens].count > 1) {
if (!_secondWin) {
UIScreen *screen = [UIScreen screens][1];
_secondWin = [[UIWindow alloc] initWithFrame:screen.bounds];
_secondWin.screen = screen;
}
}

其中 _secondWin 是一个 UIWindow ivar。

设置窗口后,创建一个 View Controller ,使其成为窗口的 Root View Controller ,并显示窗口:

SomeViewController *vc = [[SomeViewController alloc] init...];
_secondWin.rootViewController = vc;
_secondWin.hidden = NO;

除了正确处理通知之外,这几乎就是它了。请记住,您无法在第二个显示器上获得任何触摸事件,因此请确保您显示的内容基本上仅显示。

根据您的应用,您可能会在应用的整个生命周期中使用第二个屏幕/窗口(只要第二个屏幕以任何方式可用)。或者您可能只在某些情况下创建和使用第二个窗口/屏幕。当您不设置第二个窗口/屏幕时,您的应用程序将简单地镜像到第二个显示器或 Apple TV。

最后一步是打开镜像到 Apple TV。这是在 iOS 设备上完成的,而不是在应用程序中。

我链接的博文还有一些值得回顾的细节。

关于ios - 在 iPad 上显示一个东西,在 Apple TV 上显示另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17603611/

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