2011-07-07 94 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