7

注意:请查看编辑部分,本部分仅供参考。

我是 IOS 应用程序开发架构的新手。请,我只需要澄清一下是否可以进行两个输出,一个在后台连续运行,连接到其他输出设备(HDTV、监视器等),如这里链接 所示

例如,我正在举办一个连接投影仪的研讨会,将我的演示文稿作为后台进程运行,同时我可以使用“扩展模式”在笔记本电脑屏幕上操作我的东西。

请不要贬低我的问题,我只需要知道“IOS开发架构”是否提供这个。?需要做:

1) 可以用后台进程处理另一个输出屏幕(只要 MyApp 处于活动状态,就会持续)。

2) 我的 iPad 中的一个前景显示是 MyApp 难以处理的。


编辑: 更新到我自己的问题:

针对上述问题,

我在这里这里得到了一些有趣的解决方案。

我会通过它,但如果有人有想法或克服这个问题,请给我一些有用的信息。

关于问题的简要说明:

当我的应用程序正在运行时,我只想在另一个连接到 iPad 的输出设备中显示一些不同的内容。

4

2 回答 2

8

是的,这可以通过 AirPlay 实现。

默认情况下,当您将外部显示器连接到 iPad 或 iPhone 时,您会在外部屏幕上获得应用程序的镜像。但是,您可以从 iPad 或 iPhone 应用程序访问第二个屏幕并将其用于其他内容。您可以通过课程获得所有可用的“屏幕” UIScreen。从文档中[UIScreen screens]

返回的数组包括主屏幕以及连接到设备的任何附加屏幕。主屏幕始终位于索引 0。

并非所有设备都支持外接显示器。目前,配备 Retina 显示屏和 iPad 的 iPhone 和 iPod touch 设备支持外部显示屏。较旧的设备,例如 iPhone 3GS 不支持外部显示器。连接到外部显示器需要在设备和显示器之间使用适当的电缆。

有关您可以做什么的示例,您可以查看 Real Racing 2,它在 iPad 上显示地图,在外部屏幕上显示实际比赛;或也使用这种方法的推文墙(披露:我部分负责制作推文墙)。

编辑:您可以像这样初始化外部屏幕:

// Get second screen
UIScreen *secondScreen = [[UIScreen screens] objectAtIndex:1];
secondScreen.currentMode = secondScreen.preferredMode;

// Get the screen's bounds so that you can create a window of the correct size.
CGRect screenBounds = CGRectMake(secondScreen.bounds.origin.x,
                                 secondScreen.bounds.origin.y,
                                 secondScreen.currentMode.size.width,
                                 secondScreen.currentMode.size.height);
    
UIWindow *secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
secondWindow.screen = secondScreen;
 
// Setup external view controller
YourExternalScreenViewController *extVC = [[YourExternalScreenViewController alloc] init];
// Set VC for second window
secondWindow.rootViewController = extVC;
// Show the window.
secondWindow.hidden = NO;

有更多的跑腿工作,但这是概念。

编辑 2:这里是Apple 的 iOS 多显示器编程指南的链接

于 2013-07-17T10:33:47.423 回答
3

如果您想在屏幕上镜像您的移动输出,您可以使用Airplay 服务器。

于 2013-05-20T10:52:26.927 回答