【问题标题】:UITabBarController's 'More' navigation controller disappears under UINavigationControllerUITabBarController 的“更多”导航控制器在 UINavigationController 下消失
【发布时间】:2010-12-14 16:07:56
【问题描述】:

我在我的应用上使用 UITabBarController 和 UINavigationController。

在我的 UITabBarController 中,我使用了 5 个以上的项目,所以我会自动获得“更多”项目。 我设法添加了一个保存程序,以便保留这些项目的顺序,以防有人更改顺序等。

当“更多”处于活动状态时,我会在 UINavigationController 下方获得带有“编辑”项的更多导航控制器。两个导航控制器都是可见的。当我点击“编辑虽然更多导航控制器消失并且似乎隐藏在我的 UINavigationController 下,因此我无法看到/使用“完成”功能来保存我的新订单

我错过了什么?

干杯

【问题讨论】:

    标签: iphone uinavigationcontroller uitabbarcontroller


    【解决方案1】:

    听起来您有一个 UINavigationController 作为应用程序的主要 VC,而 UITabBarController 作为其堆栈中的一个 VC。

    我相信 Apple 会积极劝阻人们不要在他们的应用程序中这样做,我也是。iOS 本身从来没有这样做过,我也从未在任何第三方应用程序中看到过,所以用户可能会感到困惑.

    我认为您应该将 UINavigationController 嵌入到 UITabBarController 中,而不是相反,或者您可以选择使用其他方式来显示您想要显示的内容。

    【讨论】:

    • 是的,我知道,在 IB 中,我可以将 UINavigationController 拖到 UITabBarController 上。但我正在以编程方式创建我的标签。那我该怎么做呢?
    • 您可以通过viewControllers 属性或setViewControllers:animated: 方法将UINavigationController 添加到UITabBarController。两者都取 NSArrayUIViewController 秒。
    • 如何添加 UINavigationController? [tabs setViewControllers:[NSArray arrayWithObjects:aboutPerson,activities,bookmarks,whiteboard,colleagues,test,nil]];
    • [NSArray arrayWithObjects:viewController, anotherViewController, yourInstanceOfUINavigationController, nil]
    【解决方案2】:

    我相信 iOS 确实在他们的 iPod 应用程序中同时使用了导航控制器和标签控制器。导航控制器将您带到正在播放的歌曲并返回,同时当您选择歌曲/专辑/播放列表等时您拥有标签控制器。但是,导航控制器(或标签栏控制器)似乎是定制的,因为它处理通过将导航栏隐藏在编辑栏下方的更多->编辑案例,这不是默认的 UITabBarController 所做的。

    总而言之,我认为 Apple 在 UI 设计方面颇具“创意”。例如,在电子邮件应用程序中,“新建”按钮位于右下角(底部栏),而在短信应用程序中,“新建”按钮位于右上角(导航栏)。我认为他们几乎制作自定义 UI 以适应应用程序的个人需求,或者严格遵循一些一致的设计。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多