作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试将我的 iPhone 专用应用程序转换为通用应用程序。我将设备切换到 Universal 并让 Xcode 为我制作一个 MainWindow-iPad.xib,现在当我在 iPhone 模拟器中运行该应用程序时它工作正常,但是当我在 iPad 模拟器中运行它时我得到一个白色屏幕和 Application windows expected to have a root view controller at the end of application launch
错误。我已经阅读了一些关于同样问题的其他帖子,但没有一篇只限于一台设备。
这是我的 application:didFinishLaunchWithOptions:
方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
/* some dropbox setup stuff */
// INIT VIEW AND CORE DATA
RootViewController *rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
// Handle the error.
}
rootViewController.managedObjectContext = context;
UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.navigationController = aNavigationController;
[_window addSubview:[_navigationController view]];
[_window makeKeyAndVisible];
[rootViewController release];
[aNavigationController release];
return YES;
}
编辑:我只有一个 Root View Controller ,它的大小适合 iPhone,称为 RootViewController。但它仍然应该加载,不是吗?或者,如果不应该,我该如何为 iPad 创建一个?
最佳答案
更改以下行:
[_window addSubview:[_navigationController view]];
到:
_window.rootViewController = _navigationController;
或者,如果您需要 iOS 3 兼容性:
if ([_window respondsToSelector:@selector(setRootViewController:)]) {
_window.rootViewController = _navigationController;
} else {
[_window addSubview:_navigationController.view];
}
关于iphone - 仅在 iPad 上出现 "Application windows are expected to have a root view controller at the end of application launch"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706828/
我是一名优秀的程序员,十分优秀!