我在应用程序didFinishLaunchingWithOptions中有以下代码,我想为用户登录提供一个模态视图控制器。
LoginViewController_iPhone *loginViewController=[[LoginViewController_iPhone alloc]initWithNibName:@"LoginViewController_iPhone" bundle:nil];
UINavigationController *loginNavigationController=[[UINavigationController alloc]initWithRootViewController:loginViewController];
loginNavigationController.modalPresentationStyle=UIModalPresentationFullScreen;
[self.window.rootViewController presentModalViewController:loginNavigationController animated:NO];
[loginViewController release];
[loginNavigationController release];
然而,我得到的只是一个空白的白色屏幕。如果我替换以下
self.window.rootViewController=loginNavigationController;
登录屏幕正确显示。应用程序刚刚启动时,没有其他视图控制器分配给rootViewController属性。我是否需要分配另一个视图控制器才能使其正常工作?
答案 0 :(得分:3)
是。您需要为窗口的rootViewController
属性指定一些内容才能调用其方法presentModalViewController
。
答案 1 :(得分:0)
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:LoginViewController];
navController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:navController animated:NO];
您可以在视图的viewDidLoad中进行设置,该视图会在应用启动后立即加载。因此,一旦登录成功,您就可以将其弹出,并且您将准备好已加载的视图。