我想创建一个iPad应用程序,除了正常的ipad屏幕(4:3)使用第二个UIScreen包含一个16:9宽屏格式的UIWindow,如果连接了第二个屏幕。
我使用AppleTV进行连接。
我不仅想把ipad的屏幕镜像到电视上,因为那样它就只是一个4:3的画面--我想让它使用整个16:9的宽屏。
因此,我开始并设置了第二个UIScreen,窗口现在在电视上以宽屏格式显示,背景为绿色。
//Check for Second Screen and if available, make a second UIWindow and put it on the second screen
NSArray* connectedScreens = [UIScreen screens];
NSInteger numberOfScreens = [[UIScreen screens]count];
NSLog(@"Number of screens connected: %d",numberOfScreens);
if (numberOfScreens > 1) {
//we have a second screen connected, display an extra window on the second screen
UIScreen* secondScreen = [connectedScreens lastObject];
UIWindow* secondWindow = [[UIWindow alloc]initWithFrame:secondScreen.bounds];
secondWindow.backgroundColor = [UIColor greenColor];
[secondWindow setScreen: secondScreen];
[secondWindow makeKeyAndVisible];
self.tvWindow = secondWindow;
}到目前一切尚好。
但现在我不确定如何设置导航/视图层次结构。
我想在两个UIScreens (ipad + TV)上显示相同的数据,只是针对不同的屏幕尺寸进行了优化。
由于我有完全相同的数据应该显示,我不想有不同的实例,类似的视图到处漂浮,我想我可以使用两个xib文件每个ViewController,一个为4:3 ipad view放入viewController的'view‘属性,一个xib为16:9宽屏电视,放入同一个viewController的’tvView‘属性。
ipad UIWindow有一个UINavigationController,可以旋转不同的UIViewControllers。
因此,如果我将一个ViewController推到ipad Window的导航控制器上,我就可以将TV-xib中相应的tvView添加到电视屏幕的UIWindow中。
我这条路走对了吗?你会怎么做呢?
一小段素描:

:)
发布于 2012-07-11 01:35:14
这听起来是对的。如果你允许用户与你的导航控制器交互,你必须注册为控制器的delegate,这样你就可以在iPad上跟踪你的导航栈的变化,并相应地交换你的电视视图。
https://stackoverflow.com/questions/11418044
复制相似问题