我有一个基于Xcode的NavigationController模板的项目。该模板有一个navigationController和一个RootViewController。
从这个RootViewController里面我推出一个视图,这个视图推送第三个视图。类似的东西:
NavigationController>> RootViewController>> ViewController 1>> ViewController 2
现在,从ViewController2我想访问navigationController和navigationController.toolbar。
我知道每个viewController都有navigationController属性,但是当我推送一个新的viewController时,我必须做一些事情,所以这个变量(在被推送的视图上)将有一个对正确的ViewController或所有的有效引用推送视图将始终具有对navigationController的有效引用?
我的问题的原因是我正在尝试访问navigationController.toolbar,使其不可见,而且我没有结果。
感谢。
答案 0 :(得分:1)
navController就像一个包含viewControllers的框,其中最后一个被显示给用户,直到它弹出,当它下面的那个再次生效时。
这意味着您可以依赖navController实例,该实例始终可以在navController推送的控制器中使用。
答案 1 :(得分:1)
您可能想尝试-[UINavigationController setToolbarHidden:animated:]
来隐藏工具栏:
[self.navigationController setToolbarHidden:YES animated:YES];
无论我的视图控制器在导航堆栈中有多深,这一直对我有用。
在一个UINavigationController
对象的整个导航堆栈中,每个视图控制器的navigationController
属性都具有相同的值。