【问题标题】:How to create a UIView with NavigationBar and TabBar如何使用 NavigationBar 和 TabBar 创建 UIView
【发布时间】:2013-06-01 14:39:09
【问题描述】:

我想在我的应用程序中引入一个视图,该视图将在底部包含导航栏和标签栏。 View 包含一个带有多个条目的表格视图,一旦用户点击一个单元格,推送 segue 会将他带到另一个视图,其中包含有关他之前点击的单元格的详细信息。如果他决定,用户可以通过点击顶部导航栏的“返回”按钮返回父视图。除此之外,我希望我的视图在底部有一个标签栏,为用户提供额外的工具。因此,如果他决定检查应用程序的“创建者”,他只需点击底部的“创建者”TabBarItem。

我想问你实现上述目标的最佳方法是什么。我已经尝试将 UITabBarController 与 UINavigationController 结合使用。没有实现我想要的,因为我希望上面有表格的视图独立于 TabBarController 和 NOT 的一部分(我的意思是通过选项卡访问)。

您认为带有 UITabBarView 的 UINavigationController 视图会是更好的选择吗?

更新

我的意思是,“独立于 TabBarController 而不是它的一部分”:

加载应用后,我希望看到我的主视图(带有表格)在顶部包含导航栏,在底部包含标签栏。但是,我不想看到选项卡栏的第一个选项卡被选中,因为我的主视图无法通过选项卡栏的选项卡而是通过导航栏访问。例如,如果我在主视图中并点击第一次点击,我想移动到包含其他信息的另一个视图。

【问题讨论】:

  • 你能详细说明一下independent from the TabBarController and NOT a part of it
  • 我还是不明白“独立”标签是如何工作的。如果用户单击选项卡,他们如何返回主视图?您似乎非常努力地让事情按标准工作,但用户更喜欢事情以标准、一致的方式工作。
  • 嗯,是的,看来你是对的。我会尝试重新思考我对这个应用程序的设计。一天比一天复杂

标签: ios objective-c


【解决方案1】:

选项 1:-

创建一个标签栏控制器并在该标签栏控制器上分配您的导航视图。 说 nav1 和 tab1 , nav2 和 tab2 ...

选项 2:-

创建一个导航视图控制器,然后使用 addSubView 在该导航视图控制器上添加标签栏控制器。

因此,当用户单击表格中的一行时,您将转到另一个没有 TabbarController 的视图,当用户返回时,他将再次看到 TabbarController。

【讨论】:

  • 你好。感谢您的快速回复。选项 1 似乎不适合我的需求,因为我不希望通过 tab1、tab2 访问我的导航视图。这些选项卡将包含不同的“额外”视图。选项 2 似乎还可以。但是,我无法在 UINavigationController 上使用 Storyboard 添加 TabBarController。
  • 但你没有在问题中提到故事板?
【解决方案2】:

这就是我要做的:

首先,我将继承 UITabbarController 并创建例如 ParentTabBarController。该控制器将包含所有必要的选项卡以及单击它们后它们将执行的操作。

接下来,对于我创建的每个视图控制器,我将从这个 ParentTabBarController 子类化,以便选项卡已经存在。您可以根据自己的情况添加其他功能或覆盖它。

在您的 appdelegate 中传入导航控制器,每次推送和关闭您在第二步中创建的视图控制器。

希望这会有所帮助..

【讨论】:

  • 这个 ParentTabBarController 将委托UITabBarControllerDelegate?
  • 是的。所有标签栏功能都在 ParentTabBarController 中
  • 使用工具栏而不是标签栏会更容易实现我正在寻找的东西,还是同样的努力?
  • 这取决于您的需要。 tabbar 将改变整个视图,但工具栏仅用于一项功能。
  • 我可以自定义工具栏的视图,使其看起来像标签栏,因为每个按钮都有一个标准功能。
猜你喜欢
  • 2014-05-18
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
相关资源
最近更新 更多