Jos*_*ick 19 iphone objective-c uiview mainwindow
我正在尝试将我的iPhone应用程序转换为通用应用程序.我将设备切换到Universal并让Xcode为我做了一个MainWindow-iPad.xib的事情,现在当我在iPhone模拟器中运行应用程序时,它工作正常,但是当我在iPad模拟器中运行它时,我得到一个白色屏幕和Application windows are 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;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我只有一个根视图控制器,大小适合iPhone称为RootViewController.但它应该仍然加载不应该吗?或者如果它不应该如何为iPad创建一个?
小智 52
更改以下行:
[_window addSubview:[_navigationController view]];
Run Code Online (Sandbox Code Playgroud)
至:
_window.rootViewController = _navigationController;
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要iOS 3兼容性:
if ([_window respondsToSelector:@selector(setRootViewController:)]) {
_window.rootViewController = _navigationController;
} else {
[_window addSubview:_navigationController.view];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40195 次 |
| 最近记录: |