注意:请查看编辑部分,此部分只是一个 参考目的。
我是IOS App Development架构的新手。请,我只需要澄清是否可以制作两个输出,一个是在后台连续运行,连接到其他输出设备(HDTV,监视器等),如此链接所示here
例如,我正在举办一个连接投影仪的研讨会,运行我的演示文稿作为后台处理,同时我可以使用“EXTEND模式”在笔记本电脑屏幕上操作我的东西。
请不要解除我的问题,我只需要知道“IOS开发架构”是否提供此问题。 需要做的事:
1)可以使用后台进程的其他输出屏幕(每当MyApp处于活动状态时连续)。
2)iPad中的一个前景显示是MyApp难以处理的。
修改: 更新到我自己的问题:
对于上述问题,
我会通过它,但如果有人有想法或克服这个问题,请告诉我一些有用的信息。
关于问题的简要说明:
我只想在我的应用程序运行时,在连接到iPad的另一个输出设备中显示一些不同的内容。
答案 0 :(得分:8)
是的,这可以使用AirPlay。
默认情况下,当您将外接显示器连接到iPad或iPhone时,您会在外部屏幕上获得应用程序的镜像图像。但是,您可以从iPad或iPhone应用程序访问第二个屏幕,并将其用于其他内容。您可以通过UIScreen
课程获得所有可用的“屏幕”。来自[UIScreen screens]
的文档:
返回的阵列包括主屏幕以及连接到设备的任何其他屏幕。主屏幕始终位于索引0。
并非所有设备都支持外部显示器。目前,带有Retina显示屏和iPad的iPhone和iPod touch设备支持外部显示器。较旧的设备,如iPhone 3GS不支持外部显示器。连接到外部显示器需要在设备和显示器之间安装适当的电缆。
有关您可以做什么的示例,您可以查看Real Racing 2,它在iPad上显示地图并在外部屏幕上显示实际比赛;或Tweetwall也使用这种方法(披露:我负责制作Tweetwall)。
编辑:您可以像这样初始化外部屏幕:
// 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;
有更多的腿部工作,但这就是概念。
的链接答案 1 :(得分:3)
如果您想在屏幕上镜像移动输出,可以使用 Airplay服务器。