我有一个带有导航控制器的选项卡视图控制器。在第一个选项卡项中,我单击视图中的按钮,弹出一个带有动画的视图:是。
然后,当该视图完成后,我点击另一个按钮将其关闭。喜欢:
[self dismissViewControllerAnimated:NO completion:^{
ProfilesViewController *profile = [[ProfilesViewController alloc] init];
[self.navigationController pushViewController:profile animated:YES];
//SHOW YOUR NEW VIEW CONTROLLER HERE!
}];
但每次运行此代码时,它都会关闭视图,不推送配置文件控制器,并显示第一个选项卡栏项目的视图。
如何使用后退箭头将 Profiles ViewController 推送到屏幕?
如果您正在使用dismissViewControllerAnimated
忽略这意味着 VC 是模态呈现的。因此,它没有导航控制器(所以self.navigationController
为零),因此它无法将任何内容推送到导航控制器中。
您确实应该向控制器添加一个属性,该属性是委托或完成块,可用于从另一个控制器(呈现它的控制器)推送控制器以关闭并推送控制器。
第二种选择是传递导航控制器,它的代码量与使用块类似,但不太好。
一个糟糕的选择是使用parentViewController
找到合适的导航控制器,但这很糟糕,原因有很多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)