【问题标题】:Navigation-based app with TabBar带有 TabBar 的基于导航的应用程序
【发布时间】:2011-07-21 11:18:42
【问题描述】:

我正在将基于导航的应用程序模板与核心数据一起使用。谁能告诉我如何和视图底部的 TabBar。我正在使用UITableView,所以如果我将UITabBar 添加为子视图,则 TabBar 在滚动时会与 tableView 一起移动。我想用 TabBar 在视图之间切换,TabBar 的第一个“段”应该打开 RootView(带 TableView 的 NavigationBar),然后是其他一些视图。

现在我这样做了:

UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.viewController = [NSArray arrayWithObject:yourNavigationController];
self.window.rootViewController = tabBarController
[tabBarController release];

这很好用,但我怎样才能将更多项目添加到UITabBar 并为每个项目添加一些其他视图? TabBar 现在只有一个 Item 加载了 rootView 谢谢!

【问题讨论】:

    标签: iphone xcode uinavigationbar uitabbar


    【解决方案1】:

    在您的应用程序委托中使用UITabBarController 作为您的根视图控制器:

    UITabBarController *tabBarController = [[UITabBarController alloc] init];
    tabBarController.viewController = [NSArray arrayWithObject:yourNavigationController];
    self.window.rootViewController = tabBarController
    [tabBarController release];
    

    【讨论】:

    • 工作正常,但是如何向 TabBar 添加更多项目,并为每个项目添加一些其他视图。 TabBar 现在只有一项,其中加载了 rootView
    • 您可以添加任意数量的视图控制器。只需在上面代码的第 2 行将一些移动项添加到 NSArray 中即可。
    【解决方案2】:

    它很简单,只需将 UITabbarController 添加到您的代码中,然后将第一个选项卡控制器设为导航控制器。并将导航控制器指向具有要显示的表格视图的控制器。

    【讨论】:

      【解决方案3】:

      如果您以编程方式执行此操作,则可以使用:

      FirstViewController *first=[FirstViewController alloc]]init];
      UINavigationController *nav=[UINavigationController alloc]]initwithRootViewcontroller:first];
      
      UITabBarController *tabBarController = [[UITabBarController alloc] init];
      tabBarController.viewController = [NSArray arrayWithObject:first];
      
      [tabBarController release];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 1970-01-01
        相关资源
        最近更新 更多