每个 ViewController 在标签栏内都有自己的导航栏(iOS)

Posted

技术标签:

【中文标题】每个 ViewController 在标签栏内都有自己的导航栏(iOS)【英文标题】:Every UIViewController with it's own Navigation bar inside uitabbar (iOS) 【发布时间】:2014-11-25 12:11:09 【问题描述】:

我是 ios 应用程序开发的初学者。

我的申请流程是这样的

它从导航控制器开始,然后在详细页面之后我将自定义标签栏设置为窗口根控制器

现在我有 3 个标签 每个标签都有不同的 ui

意味着拥有

tab1 -> 表格视图

tab2 -> 网格视图

tab3 -> 有多个表格

现在我希望每个 ui 控制器都必须有自己的导航栏 并且它还交叉关联标签。

提前感谢您的宝贵意见。

【问题讨论】:

请进行搜索并实施一些事情,然后告诉我们您面临的问题。表现出你自己的一些努力。 @Zoain 我只是询问流程而不是代码。最好的方法来做到这一点 【参考方案1】:

只需为 3 个标签创建带有三个导航控制器的自定义标签栏控制器。

那么每个导航控制器的根视图控制器应该是你对应的视图控制器。

为了更好地理解,请查看此图片。

以编程方式从 Tabbarcontroller 上下文

UINavigationController *navCont1;
UINavigationController *navCont2;

UITabBarController *yourTabbarcontroller;

yourTabbarcontroller = [[UITabBarController alloc]init];




FirstViewController *viewCont1 = [[FirstViewController alloc]init];

navCont1= [[UINavigationController alloc]initWithRootViewController:viewCont1];

UITabBarItem *tab1 = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:1];

[viewCont1 setTabBarItem:tab1];



SecondViewController *viewCont2 = [[SecondViewController alloc]init];

navCont2= [[UINavigationController alloc]initWithRootViewController:viewCont2];

UITabBarItem *tab2 = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:2];

[viewCont2 setTabBarItem:tab2];



tab.viewControllers = [NSArray arrayWithObjects:navCont1,navnavCont2,nil];

self.window.rootViewController = tab;

【讨论】:

然后在按下的选项卡上添加这些导航视图控制器。我说的对吗? 请查看图片 谢谢。我正在使用 xib 的另一件事。很抱歉给您带来不便,但我是 iOS 开发新手。 那么只需设置tabbarcontroller的viewcontrollers属性,带有3个导航控制器。在创建时不要忘记设置导航控制器的 rootviewcontroller。 我认为 rootview 控制器应该是 tabview 控制器,然后我们只需在导航视图控制器中添加视图控制器并返回该导航视图控制器

以上是关于每个 ViewController 在标签栏内都有自己的导航栏(iOS)的主要内容,如果未能解决你的问题,请参考以下文章

通过命令验证docker容器相当一个轻量级的Linux运行环境,且每个容器内都有一个属于自己的文件系统,容器之间相互隔离

无法在标签栏内隐藏中心图像

iPhone标签栏应用程序:是不是可以在标签栏内(在其顶部)添加子视图?

我有一个带有不同/多个 UIView 的情节提要,并且我想要每个 UIView 都有一个 ViewController。迅速

将从 AppDelegate 的推送通知中收到的数据传递给 ViewController

在不动画的 ViewController 上实现一个栏(如标签栏)