在呈现模态视图控制器之后推动导航控制器

时间:2014-10-09 08:12:44

标签: ios uiviewcontroller uinavigationcontroller uitabview

我有一个标签视图控制器,它有一个这样的按钮,当它被按下时会出现一个模态:

PostViewController *post = [[PostViewController alloc] init];

// [self.navigationController pushViewController:post animated:YES];

// Presentation
[self presentViewController:post animated:YES completion:nil];

当模态完成后,我想解雇它并推送一个新的视图控制器,如下所示:

ProfilesViewController *profile = [[ProfilesViewController alloc] init];
[self.navigationController pushViewController:profile animated:YES];

但我不能在后vc中做它的模态。我该怎么做?

2 个答案:

答案 0 :(得分:7)

您可以尝试使用completionBlock

当presentViewController完成时,将调用

CompletionBlock

PostViewController *post = [[PostViewController alloc] init];
[con presentViewController:post animated:YES completion:^{
    ProfilesViewController *profile = [[ProfilesViewController alloc] init];
    [self.navigationController pushViewController:profile animated:YES];
}];

有关presentViewController:animated:completion: Apple Doc

的更多信息
  

完成:演示完成后要执行的块。   该块没有返回值,不带参数。你可以   为此参数指定nil。

答案 1 :(得分:1)

使用嵌入在UINavigationController中的标签视图控制器? 如果还没有,你当然不能使用self.navigationController。