Monotouch UITabBarController + UINavigationController

Kye*_*Kye 7 iphone monodevelop xamarin.ios

我试图在MonoTouch中同时使用UITabBarController和UINavigationController,我有点失落.

我可以创建一个基于导航的项目,并仅使用navigationController进行导航,很好.或者我可以添加一个tabBarController并导航到几个主屏幕,很好.

但是,如果没有使用TabBarController,我似乎无法导航到另一个.例如,我正在做一个处理"foo"的应用程序,所以我在我的tabbar,FooHome和FooSettings上有两个视图.如果用户在FooSettings视图上单击"添加Foo"之类的内容,如何导航到新视图.

NavigationController.PushToView似乎没有任何效果,我不想将视图添加到tabController,因为它很简单,只有两个项目.

我应该使用this.View.AddSubView吗?这个想法听起来像一个对话框,我只是不确定如何使用monoTouch ...

小智 14

几个小时我一直在努力争取这个帖子.非常感谢.对于那些仍然在黑暗中的人,这是我的代码:

    public override bool FinishedLaunching (UIApplication app, NSDictionary options)
    {
        // create a new window instance based on the screen size
        window = new UIWindow (UIScreen.MainScreen.Bounds);

        var vc1 = new VideosVC ();
        var vc2 = new ScheduleVC ();
        var vc3 = new TheCastVC ();
        var vc4 = new MerchandiseVC ();

        UINavigationController uinc1 = new UINavigationController(vc1);
        UINavigationController uinc2 = new UINavigationController(vc2);
        UINavigationController uinc3 = new UINavigationController(vc3);
        UINavigationController uinc4 = new UINavigationController(vc4);

        tabBarController = new UITabBarController ();

        tabBarController.ViewControllers = new UIViewController [] {
            uinc1,
            uinc2,
            uinc3,
            uinc4,
        };

        window.RootViewController = tabBarController;

        window.MakeKeyAndVisible ();

        return true;
    }
Run Code Online (Sandbox Code Playgroud)

  • +1为所有其他人编写代码解决方案! (2认同)

Dim*_*kos 3

将 FooHome 和 FooSettings 控制器添加到 UINavigationControllers 并将这些导航控制器设置为选项卡控制器。

例如,第一个选项卡将包含一个根控制器为 FooHome 的导航控制器,第二个选项卡将包含一个根控制器为 FooSettings 的导航控制器。

当您点击 FooSettings 中的“添加 Foo”时,您会将新控制器推送到第二个选项卡内。