2011-07-07 27 views
1

我有我的MonoTouch應用程序設置使用TabBar和導航控制器。當我查看1或查看3時,我設置HidesBottomBarWhenPushed = true。如何使用Monotouch導航回到家

例如,

TabBar 
    -Options 1 Navigation Controller 
     -View1 
     -View2 
    -Options 2 Navigation Controller 
     -View3 

我可以使用導航控制器在後視圖之間移動視圖,並且所有事情都按預期工作。

噹噹前位置爲view1或view3時會出現問題。我如何導航回tabBar級別?我可以經常添加一個後退按鈕,但是按鈕下面應該有什麼邏輯?我真的需要一個TabController.PopToRootLevel(),但我找不到類似的方法?

編輯:此代碼有效,但我看起來不正確。它不是動畫,我認爲這會導致內存泄漏。

this.TabBarController.SelectedIndex = 0; 

回答

4

您正在查找的方法是PopToRootViewController,它位於UINavigationController類中。所以,從要返回到開始視圖控制器裏面,把這個(在您的自定義後退按鈕,或按鈕,您將使用):

this.NavigationController.PopToRootViewController(true); 
+0

但該視圖具有訪問的NavigationController不在頂層。這種方法不會使用戶返回到導航控件的開始處,例如View1或View3? – Kye

+0

當控制器被推入導航控制器時,您可以通過其NavigationController屬性訪問該導航控制器。如果我的問題得到解決,你有一個標籤控制器,它有兩個標籤。每個標籤都有一個導航控制器,可以在其中推送各種控制器,對吧? –

+0

對不起。我的描述可能會引起誤解。我有包含TabBar的View0。我可以使用NavigationControllers返回View1而沒有任何問題,但我似乎無法獲得任何高度,因爲View0上沒有NavigationController。 – Kye