2011-07-06 54 views
0

我有一個基於Xcode的NavigationController模板的項目。這個模板有一個navigationController和一個RootViewController。iPhone - 有關navigationControllers和viewController的問題

從這個RootViewController中,我推送一個視圖,這個視圖推入第三個視圖。喜歡的東西:

NavigationController >> RootViewController的>>視圖控制器1 >>視圖控制器2

現在,從ViewController2我要訪問的navigationController和navigationController.toolbar。

我知道每個viewController都有navigationController屬性,但是我的問題是,當我推送一個新的viewController時,我必須做一些事情,以便這個變量(在被推送的視圖上)將對正確的ViewController有一個有效的引用,所有推送的視圖將始終有一個導航控制器的有效引用?

我的問題的原因是,我試圖訪問navigationController.toolbar,使其不可見,我沒有結果。

謝謝。

回答

1

你可能想嘗試-[UINavigationController setToolbarHidden:animated:]隱藏的工具,而不是:

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

這一直爲我工作無論多麼深的導航堆棧我的視圖控制器了。


在一個UINavigationController對象的整個導航堆棧,每視圖控制器的navigationController屬性具有相同的值。

+0

就是這樣。謝謝! – SpaceDog

+0

沒問題。玩的開心! – 2011-07-06 15:31:10

1

navController就像一個包含viewControllers的框,最後一個被推送到用戶,直到它彈出,當它下面的一個會再次生效。

這意味着您可以依賴navController實例始終在navController推送的控制器內可用。

+0

它更像是一個堆棧,實際上。 :) – Trevor

+0

我知道,我只是想傳達navController「包含」viewControllers。 – fzwo

+0

我喜歡箱子的比喻謝謝,這清除了很多。說真的,蘋果應該聘請你寫文檔。 :D – SpaceDog

相關問題