在iPhone应用程序中创建初始视图时,您可以将主UIWindow的IBOutlet rootViewController属性设置为默认视图控制器,但这不适用于UISplitViewController。
如果执行此操作,我不会收到任何编译错误,并且该应用程序会运行,但是在应用程序启动时不会显示任何屏幕。
Apple推荐UISplitViewController的方法是在您的应用程序委托启动方法中执行以下操作:
[window addSubview:splitViewController.view];
我只是想知道为什么UISplitViewController需要这种不同的方法。
当然可以。实际上,这就是Xcode 4.0.2中基于拆分视图的应用程序模板(SDK 4.3)所做的。
您确定不可能吗? rootViewController
必须是UIViewController
,而UISplitViewController
is
我制作UISplitViewController UIWindow rootViewController没有任何问题。实际上,Split View应用程序模板会生成以这种方式配置应用程序的代码。
DLog(@"Method: homeScreenViewController");
UISplitViewController *svc = (UISplitViewController*)[self.storyboard instantiateViewControllerWithIdentifier:@"HomeViewiPad"];
//[self presentViewController:svc animated:YES completion:nil];
UIWindow *window = [[[UIApplication sharedApplication] windows] objectAtIndex:0];
window.rootViewController = svc;
[window makeKeyAndVisible];
/*
for (UIWindow *window in [[UIApplication sharedApplication] windows])
{
if ([window screen] == [UIScreen mainScreen])
{
window.rootViewController = svc;
//UIViewController *con = [self.storyboard instantiateViewControllerWithIdentifier:@"HomeiPad"];
//[window addSubview:con.view];
[window makeKeyAndVisible];
}
}
*/