在UINavigationController中推视图控制器
问题描述:
我有一个带导航控制器的选项卡视图控制器。在第一个标签项中,我点击一个视图中的按钮,弹出一个视图,并带有动画:YES。在UINavigationController中推视图控制器
然后,当这个观点完成后,我打了另一个按钮,驳回它。像:
[self dismissViewControllerAnimated:NO completion:^{
ProfilesViewController *profile = [[ProfilesViewController alloc] init];
[self.navigationController pushViewController:profile animated:YES];
//SHOW YOUR NEW VIEW CONTROLLER HERE!
}];
但每次运行此代码,它驳斥的观点,不压型材控制器,并表示从第一个标签栏项目的看法。
如何推动ProfilesViewController屏幕与后退箭头?
答
如果使用dismissViewControllerAnimated
驳回这意味着,VC有模式呈现。因此,它没有导航控制器(因此self.navigationController
为零),因此它不能将任何东西推入导航控制器。
你应该属性真正加入到控制器,它是代表或可用于从另一个控制器驳回,推动控制器(即呈现它的)推控制器完成块。
第二选项是通过导航控制器,它是一个类似的代码量,以使用块,但不那么好。
一个糟糕的选择是使用parentViewController
找到相应的导航控制器,但吸的原因有很多。
尝试通过将其作为根用户导航控制器来呈现viewcontroller。然后从该视图控制器本身推入'ProfilesViewController'。 – Akhilrajtr 2014-10-09 07:57:29
我以root身份设置哪一个 – cdub 2014-10-09 07:58:44
将呈现的视图控制器作为root用于导航控制器。在完成任务调用'dismissViewControllerAnimated'后,推送'ProfilesViewController'。 – Akhilrajtr 2014-10-09 08:01:45