【问题标题】:Is there any way to have a tab bar switch views without using a tabBarController?有没有办法在不使用 tabBarController 的情况下让标签栏切换视图?
【发布时间】:2010-02-13 15:08:15
【问题描述】:

我有一个带有导航控制器的应用程序,我想添加一个标签栏。有谁知道是否可以说如果选择了第一个选项卡则显示 view1 如果选择了选项卡 2 则显示 view2?如果有代码,那么我会很高兴。任何帮助表示赞赏。是+谢谢

【问题讨论】:

    标签: iphone uinavigationcontroller views uitabbar


    【解决方案1】:

    根据界面指南,标签栏应始终位于应用的顶层。换句话说,您应该有一个标签栏,然后在每个标签内都有一个导航控制器。

    如果您需要像标签栏一样显示视图,但不是在应用的顶层,请使用分段控件。用户会明白他们正在选择替代视图,但他们不会对他们在应用程序中的位置感到困惑。

    【讨论】:

    • 感谢您的回复。我现在将标签栏控制器作为根,但它使左上角的按钮 ( + ) 为零,并且没有显示下一个视图。但是,当标签消失时,一切正常。运行调试器后,我得到的只是:2010-02-13 17:59:21.427 AirList[10138:207] 应用程序试图在目标 上推送一个 nil 视图控制器。放置断点后,我找不到任何特殊或导致错误的东西。
    • 我实际上更喜欢 UISegmentedControl。你能告诉我如何让下半场推一个不同的观点吗?
    • 到目前为止我已经使用了这个,但它似乎不起作用。 - (IBAction)seg:(id)sender { UISegmentedControl *segmentedControl = (UISegmentedControl *) 发件人; NSInteger selectedSegment = segmentedControl.selectedSegmentIndex; if (selectedSegment == 0) { //切换正确的视图可见 [HeroListViewController setHidden:NO]; //[secondView setHidden:YES]; } else{ //切换正确的视图可见 //[firstView setHidden:YES]; [HeroListViewController setHidden:NO]; } }
    【解决方案2】:

    您不应该在没有UITabBarViewController 的情况下使用UITabBarView

    【讨论】:

      【解决方案3】:

      为什么不想使用 TabBarController?

      否则,您可以简单地添加一个标签栏并实现 UITabBarDelegate 协议来响应更改。这实际上是在实现您自己的 TabBarController。

      您将需要创建一个 Tabbar 并将委托设置为实现以下方法的对象,您可以在其中根据选定的 tabbarItem 切换视图:

      - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
         int index = [tabBar.items indexOfObject:item];
         switch (index) ...
      }
      

      【讨论】:

      • 我不能在这个应用程序中使用 tabBarController,因为它的设置方式和这里的许多帖子说当添加到 UINavigationController 时不使用 tabBarController。我只需要能够添加一个 UITabBar。
      • 我们在 TabbarController 中使用 navigationController 没有问题。
      • 是的,我必须多次。这个应用程序不能。 tabBar 有什么方法可以切换视图
      • 查看我当前的 NavController 正在被使用,并且顶部有一个 + 按钮,它将推动以编程方式完成的视图而不是 xib。我确实尝试添加一个控制器,但它使 + 按钮为零。当我分配] init] 视图它没有响应。使用上面的代码,我如何判断第 2 节是否被推送到加载 view2?
      • 您的问题不在于导航控制器。推送一个以编程方式创建它的视图的控制器是微不足道的。你在其他地方遇到了问题。
      猜你喜欢
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2012-09-15
      • 2020-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多