在我的应用程序中,我有以下代码,当我的应用程序启动时,第一位运行,并在模式视图中显示登录屏幕。在此之前将我的 rootController 添加到窗口中。
模态视图将允许用户登录、查看条款和条件,然后如果他们接受,则调用 loadMainApp 函数。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    rootController.delegate = self;
    [window addSubview:rootController.view];
    LoginViewController *_loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginView" bundle:[NSBundle mainBundle]];
    self.loginViewController = _loginViewController;
    [_loginViewController release];
    UINavigationController *navi = [[[UINavigationController alloc]initWithRootViewController:loginViewController]autorelease];
    navi.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [loginViewController release];
    [rootController presentModalViewController:navi animated:YES];
    [self.window makeKeyAndVisible];
    return YES;
}
当用户接受条款和条件时,将调用下一位:
-(void)loadMainApp:(UIView *)fromView{
    [fromView removeFromSuperview];
    [window addSubview:rootController.view];
    rootController.selectedIndex = 2;
    rootController.delegate = self;
}
从这里我希望能够使用作为模态视图的人员选择器,并使用以下代码进行尝试:
 ABPeoplePickerNavigationController *picker =
        [[ABPeoplePickerNavigationController alloc]init];
        picker.peoplePickerDelegate = self;
        [rootController presentModalViewController:picker animated:YES];
        [picker release];
但是没有任何反应,当我尝试从我的 rootController 呈现模式视图时,什么也没有显示。
这似乎发生在 applicationDidFinishLaunching 中的此代码运行后:
LoginViewController *_loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginView" bundle:[NSBundle mainBundle]];
        self.loginViewController = _loginViewController;
        [_loginViewController release];
        UINavigationController *navi = [[[UINavigationController alloc]initWithRootViewController:loginViewController]autorelease];
        navi.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        [loginViewController release];
        [rootController presentModalViewController:navi animated:YES];
        [self.window makeKeyAndVisible];
        return YES;
如果我根本不显示登录屏幕,而是添加我的 rootController
rootController.delegate = self;
        [window addSubview:rootController.view];
在 applicationDidFinishLaunching 函数中,当我去显示人员选择器时一切正常。
我在这里打破了一些基本的东西,或者任何人都可以发现我可能做错了什么?