无法呈现modalViewController

时间:2012-04-28 03:39:07

标签: iphone objective-c ios ipad modalviewcontroller

我试图在视图上加载时提供模态视图控制器。

以下是代码:

 if (!self.loginNavViewController_){

        AHLoginViewController * loginVC = [[AHLoginViewController alloc] initWithNibName:@"AHLoginViewController" bundle:nil];

        /*
        AHTestViewController * test  = [[AHTestViewController alloc] initWithNibName:@"AHTestViewController" bundle:nil];
        */

        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:loginVC];
        navController.modalPresentationStyle = UIModalPresentationFullScreen;
        navController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        navController.title = @"Login to Instagram";

        self.loginNavViewController_ = navController;
        [self presentModalViewController:self.loginNavViewController_ animated:YES];


        if (self.loginNavViewController_ == nil){
            NSLog(@"NIL");
        } else {
            NSLog(@"NOT NIL");
        }

}

但是我没有看到显示模态视图控制器。为什么?

2 个答案:

答案 0 :(得分:2)

视图控制器在加载视图后以及在将视图插入视图层次结构之前立即接收viewDidLoad。换句话说,它不能呈现模态视图控制器,因为它自己的视图还没有在任何窗口中。

请尝试在viewWillAppear:viewDidAppear:中执行此操作。

答案 1 :(得分:0)

我认为你可以在视图中使用加载我也已经在使用它了。

InfoViewController *infoViewController = [[InfoViewController alloc]initWithNibName:@"InfoViewController" bundle:nil]; 
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:infoViewController];
[self.navigationController.view addSubview:nav.view];

使用view did load在主视图上添加许多模型。

欢迎。