如何在应用程序启动时显示模态视图?

时间:2011-07-19 16:59:53

标签: iphone uiviewcontroller uiapplicationdelegate

我在应用程序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属性。我是否需要分配另一个视图控制器才能使其正常工作?

2 个答案:

答案 0 :(得分:3)

是。您需要为窗口的rootViewController属性指定一些内容才能调用其方法presentModalViewController

答案 1 :(得分:0)

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:LoginViewController];

navController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:navController animated:NO];

您可以在视图的viewDidLoad中进行设置,该视图会在应用启动后立即加载。因此,一旦登录成功,您就可以将其弹出,并且您将准备好已加载的视图。