【问题标题】:Using Monotouch how do i implement a UITabBarController as my RootViewController使用 Monotouch 如何实现 UITabBarController 作为我的 RootViewController
【发布时间】:2013-10-27 12:15:00
【问题描述】:

我对使用 Monotouch 进​​行 iOS 编程完全不熟悉...我正在使用此代码创建导航根视图。

window = new UIWindow(UIScreen.MainScreen.Bounds);

UINavigationController rootNavController = new UINavigationController ();
window.RootViewController = rootNavController;

UIViewController tabView = new TabContainer ();
rootNavController.PushViewController (tabView, false);

我的 TabContainer 类继承了 UITabBarController 类,并且我有几个 UIViewController 被添加到 UITabBarController 类中。

var tabs = new UIViewController[] {
     tab1, tab2, tab3, tab4, tab5
};

base.ViewControllers = tabs;

单击其中一个选项卡后,我的 ViewController 将在其中加载一个 UITableView,我仍然可以在底部看到 TabBarController。如果我现在单击任何表格单元格,我将推送一个新视图并且 TabBarController 被隐藏。

tblSource.OnRowSelected += (object sender, TableSourceStationGroup.RowSelectedEventArgs e) => {
            e.tableView.DeselectRow (e.indexPath, true);
            stationView = new viewStation (itemList[e.indexPath.Row].Name, itemList[e.indexPath.Row].Id, itemList[e.indexPath.Row].Stations);
            this.NavigationController.PushViewController(stationView, true);

当我推送一个新视图时,如何防止 TabBarController 隐藏?我想我在这里遗漏了一些关于我的应用程序结构的基本内容。

【问题讨论】:

    标签: c# xamarin.ios uitabbarcontroller


    【解决方案1】:

    你想像这样设置你的层次结构:

                               Tab1 -> Nav1 -> View
    Root --> Tab Controller -> Tab2 -> Nav2 -> View
                               Tab3 -> Nav3 -> View
    

    所以每个选项卡都会有它自己的导航控制器,它会有一个初始视图推送到它上面。

    在您的示例中,您将 Nav 控制器作为根,包含 Tab 控制器。这是倒退的——您希望 Tab 控制器包含 Nav 控制器。

    【讨论】:

    • 很高兴它有帮助。请花点时间将此标记为“正确”答案 - 应该有一个类似的复选标记按钮(或其他东西),您可以单击它旁边。
    猜你喜欢
    • 2012-10-28
    • 2020-09-29
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多