在我的firstViewController
我有一个tabbar
,其中包含firstViewController
和helpViewController
。
当我点击FirstViewController
中的按钮时,我会推送NewViewController
。但是,当推送此视图时,我想更改TabBarController
中的内容以显示其他ViewControllers,例如infoViewController
,optionViewController
和NewViewController
。这可能吗?
第一张图片代表我的应用程序。 FirstViewController
有一个推送NewViewController
的按钮。当用户单击此按钮时,我希望我的应用程序显示第二个图像中的内容。有可能吗?
答案 0 :(得分:1)
是的,这是可能的(我只是在Xcode中做了一个概念验证)。假设您正在使用故事板,则需要将初始视图控制器设为UINavigationController
,否则您将无法使用推送segue。然后,使第一个UITabBarViewController
导航控制器的根视图控制器。将全新的UITabBarController
添加到故事板中,然后将UIButton
放入firstViewController
并通过推送segue将其链接到新的(第二个)UITabBarController
。
当您点击按钮时,旧标签栏将滑落,新标签栏将滑动。
这是一个如何看起来的例子:
答案 1 :(得分:0)
!!这个应用程序使用navigationController和TabBarController !!
使用故事板,我看到了应用程序的每个部分,然后我有了想法:推动NewViewController
,如何推送tabBarController
?当用户单击该按钮时,应用程序将使用2 TabController的推送tabBarController
。
只需将新文件添加到您的项目中,即子类UITabBarController。然后将此代码添加到tabBarController
:self.hidesBottonBarWhenPushed = YES;
在ViewDidLoad
上,只需分配并初始化要在tabBar和
self setViewControllers:[NSArray arrayWithObjects: vc1, vc2, vc3, nil]];
在这里工作正常:D
答案 2 :(得分:-1)
您可以嵌套TabBarControllers。但这看起来很奇怪。并且第一个TabBar不会被更改。将TabBarController推送到TabBarController是不可能的,因为TabBarController不支持pushViewController。这只适用于NavigationController。
无论如何,您可以完全以编程方式更改TabBar的内容。