iPhone - 关于navigationControllers和viewController的问题

时间:2011-07-06 15:13:47

标签: iphone

我有一个基于Xcode的NavigationController模板的项目。该模板有一个navigationController和一个RootViewController。

从这个RootViewController里面我推出一个视图,这个视图推送第三个视图。类似的东西:

NavigationController>> RootViewController>> ViewController 1>> ViewController 2

现在,从ViewController2我想访问navigationController和navigationController.toolbar。

我知道每个viewController都有navigationController属性,但是当我推送一个新的viewController时,我必须做一些事情,所以这个变量(在被推送的视图上)将有一个对正确的ViewController或所有的有效引用推送视图将始终具有对navigationController的有效引用?

我的问题的原因是我正在尝试访问navigationController.toolbar,使其不可见,而且我没有结果。

感谢。

2 个答案:

答案 0 :(得分:1)

navController就像一个包含viewControllers的框,其中最后一个被显示给用户,直到它弹出,当它下面的那个再次生效时。

这意味着您可以依赖navController实例,该实例始终可以在navController推送的控制器中使用。

答案 1 :(得分:1)

您可能想尝试-[UINavigationController setToolbarHidden:animated:]来隐藏工具栏:

[self.navigationController setToolbarHidden:YES animated:YES];

无论我的视图控制器在导航堆栈中有多深,这一直对我有用。


在一个UINavigationController对象的整个导航堆栈中,每个视图控制器的navigationController属性都具有相同的值。