1

ロードされたビューにモーダルビューコントローラーを表示しようとしました。

コードは次のとおりです。

 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");
        }

}

ただし、モーダルビューコントローラが表示されていません。なぜ??

4

2 に答える 2

2

ビューコントローラはviewDidLoad、ビューをロードした直後、ビューがビュー階層に挿入される前に受信します。つまり、独自のビューがまだどのウィンドウにも表示されていないため、モーダルビューコントローラを表示できません。

viewWillAppear:またはviewDidAppear:代わりにそれを試してみてください。

于 2012-04-28T04:38:06.707 に答える
0

私はあなたがビューで使用できると思いますロードしましたまた私はすでにこれを使用しています。

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

ビューがロードされたことを使用して、メインビューに多くのモデルを追加します。

いらっしゃいませ。

于 2012-04-28T04:23:33.270 に答える