如何使用NavigationBar和TabBar创建UIView

问题描述:

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

我想问你,达到上述目的的最好方法是什么。我已经尝试将UITabBarController与UINavigationController结合使用。没有达到我寻找的目标,因为我希望桌子上的视图独立于TabBarController和而不是它的一部分(我的意思是可以通过标签访问)。

你相信UITabBarView的UINavigationController视图会是更好的选择吗?

UPDATE

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

一旦应用程序加载的,我想看看我的主视图(表)包含顶部的导航栏和底部的选项卡栏。但是,我不想看到选中标签栏的第一个选项卡,因为我的主视图不能通过选项卡栏的标签访问,而是通过导航栏访问。例如,如果我处于主视图并点击第一次点击,我想转到另一个视图,其中会包含其他一些信息。

+0

你可以详细阐述一下'独立于TabBarController而不是它的一部分' – CalZone

+0

我还不明白“独立”选项卡是如何工作的。如果用户点击标签,他们如何回到主视图?你似乎非常努力地努力使*不作为标准工作,但用户更喜欢以标准一致的方式工作。 – morningstar

+0

嗯,好像你是对的。我会尝试重新考虑我的设计这个应用程序。日复一日 – OutOfBoundsException

选项1: -

创建一个标签栏控制器和对TabbarController分配您的导航视图。 说NAV1与TAB1海纳维信息技术有限公司与TAB2 ...

选项2: -

创建导航视图控制器,比使用addSubView添加上navigationView控制器的tabbarcontroller。

所以,当用户点击表格中的一行时,你会去到另一个没有TabbarController的View,当用户回来时他会再次看到TabbarController。

+0

你好。感谢您的快速回复。选项1似乎不符合我的需求,因为我不希望通过tab1,tab2访问我的导航视图。这些选项卡将包含不同的“额外”视图。选项2似乎确定。但是,我无法在UINavigationController上使用Storyboard添加TabBarController。 – OutOfBoundsException

+0

但你没有提到你的问题中的故事板? – Ekra

这是我会做:

首先,我将继承的UITabBarController和创建例如ParentTabBarController。该控制器将包含所有必要的选项卡以及如果点击此类选项卡,它们将执行的操作。

接下来对于我创建的每个viewcontroller,我将从此ParentTabBarController继承,以便选项卡已经在。您可以添加其他功能或根据您的情况覆盖它。

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

希望这有助于..

+0

而这个ParentTabBarController会委托'UITabBarControllerDelegate'? – OutOfBoundsException

+0

是的。所有标签栏功能都在ParentTabBarController – lakesh

+0

谢谢,我会试着看看我是否可以使它工作! :) – OutOfBoundsException