1

我有一个带导航控制器的选项卡视图控制器。在第一个标签项中,我点击一个视图中的按钮,弹出一个视图,并带有动画:YES。在UINavigationController中推视图控制器

然后,当这个观点完成后,我打了另一个按钮,驳回它。像:

    [self dismissViewControllerAnimated:NO completion:^{ 

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

         //SHOW YOUR NEW VIEW CONTROLLER HERE! 
        }]; 

但每次运行此代码,它驳斥的观点,不压型材控制器,并表示从第一个标签栏项目的看法。

如何推动ProfilesViewController屏幕与后退箭头?

+0

尝试通过将其作为根用户导航控制器来呈现viewcontroller。然后从该视图控制器本身推入'ProfilesViewController'。 – Akhilrajtr 2014-10-09 07:57:29

+0

我以root身份设置哪一个 – cdub 2014-10-09 07:58:44

+0

将呈现的视图控制器作为root用于导航控制器。在完成任务调用'dismissViewControllerAnimated'后,推送'ProfilesViewController'。 – Akhilrajtr 2014-10-09 08:01:45

回答

2

如果使用dismissViewControllerAnimated驳回这意味着,VC有模式呈现。因此,它没有导航控制器(因此self.navigationController为零),因此它不能将任何东西推入导航控制器。

你应该属性真正加入到控制器,它是代表或可用于从另一个控制器驳回,推动控制器(即呈现它的)推控制器完成块。

第二选项是通过导航控制器,它是一个类似的代码量,以使用块,但不那么好。

一个糟糕的选择是使用parentViewController找到相应的导航控制器,但吸的原因有很多。

+0

所以标签视图控制器有4个视图控制器。并且每个按钮都会弹出上面的代码并将其解除。我在哪里创建该房产? – cdub 2014-10-09 08:04:27

+0

该属性被添加到弹出的VC中,因为它需要一个委托来告诉它何时完成,以便委托可以推送其他VC – Wain 2014-10-09 15:46:23

+0

我可以获得一些代码帮助吗?如何正确地执行它 – cdub 2014-10-12 09:36:26

相关问题