2010-07-14 43 views
0

我有一個帶有根表視圖的導航控制器,它有幾個鏈接。點擊每個鏈接將移動到下一個視圖(將其推送到導航控制器的堆棧)。但假設在那個「下一個視圖」中,我有一個UIButton,它應該帶我進一步看另一個視圖(通過推向相同的導航控制器的堆棧)...視圖控制器鏈

View Controller - > first view - >第二視圖 - >第三視圖..........

現在,我可以在處理第一個視圖(並將其成功推送到導航控制器的堆棧)時輕鬆訪問導航控制器,因爲它已經在同一個文件中實例化了。我真正懷疑的是 - 如何訪問遠程視圖控制器中的導航控制器(例如,第三個視圖或第四個視圖等)?請注意,我沒有使用任何單獨的代表。所有導航欄方法都已在一個文件中實現,並通過插座連接到導航控制器。

回答

1

當你將一個ViewController拖到一個NavigationController上時,ViewController會自動設置它的navigationController屬性。這意味着無論您在堆棧中的哪個位置,都可以訪問相同的NAvigationController。

-Update-

navigationController 

在每一個UIViewController中,您可以訪問該屬性。 所以在已壓入堆棧任何其他的UIViewController你應該能夠只是這樣做:

[self.navigationController pushViewController:othercontroller animated:YES]; 

看看在UIViewController的文檔,看看你有什麼可用其他魔法屬性。

+0

是的,這正是我一直在試圖做的。您如何訪問相同的導航控制器?這意味着,您在「secondViewController.h和.m」文件中編寫什麼來訪問導航控制器? – user390140 2010-07-14 08:31:34

+0

它是一個繼承的屬性。您不需要向頭文件添加任何內容來訪問navigationController屬性。只需在您推送的子類視圖控制器中使用self.navigationController行,就像回答狀態一樣。 – Corbin87 2012-11-30 05:07:37

相關問題