在具有不同内容的iOS应用程序中创建另一个输出设

时间:2013-04-26 06:01:40

标签: iphone ios xcode ipad output

  

注意:请查看编辑部分,此部分只是一个   参考目的。

我是IOS App Development架构的新手。请,我只需要澄清是否可以制作两个输出,一个是在后台连续运行,连接到其他输出设备(HDTV,监视器等),如此链接所示here

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

请不要解除我的问题,我只需要知道“IOS开发架构”是否提供此问题。 需要做的事:

1)可以使用后台进程的其他输出屏幕(每当MyApp处于活动状态时连续)。

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


修改: 更新到我自己的问题:

对于上述问题,

  

我得到了一些有趣的解决方案HEREHERE

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

关于问题的简要说明:

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

2 个答案:

答案 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;

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

编辑2 :这是指向Apple's Multiple Display Programming Guide for iOS

的链接

答案 1 :(得分:3)

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