UITabBarController显示多于5个标签时的如何直接显示视图而非More处理方式

来源:互联网 发布:json美化 js 编辑:程序博客网 时间:2024/05/17 00:09

使用UITabBarController多余4个标签时,出现MoreNavigationController,很多开发者想直接显示视图,而不想看到MoreNavigationController。下面说一下比较2的解决办法。呵呵。

UIViewController *viewController_1 = [[UIViewControlleralloc] init];

UIViewController *viewController_2 = [[UIViewControlleralloc] init];

UIViewController *viewController_3 = [[UIViewControlleralloc] init];

UIViewController *viewController_4 = [[UIViewControlleralloc] init];

UIViewController *viewController_5 = [[UIViewControlleralloc] init];

UIViewController *viewController_6 = [[UIViewControlleralloc] init];

NSArray *controllers = [NSArrayarrayWithObjects:viewController_1,viewController_2,viewController_3,viewController_4,viewController_5,viewController_6,nil];

UITabBarController *tabBarController = [[UITabBarControlleralloc] init];

[tabBarController setViewControllers:controllers];

//上诉代码显示了6个Controller,其中有2个将要在MoreNavigationController里。那么怎么解决呢?

采用

tabBarController.moreNavigationController.navigationBarHidden= YES;使More的NavigationBar隐藏

这种方法,TabBar需要采用自定义的Button布局实现。然后,点击自定义BUtton,执行

[tabBarController setSelectedIndex:5];

[tabBarController setSelectedIndex:6];

即能够看到相应的页面。

题外:当共5个标签时,使用[tabBarControllersetSelectedIndex:4];时,第五个标签内的视图并不会展现,那么怎么解决呢,我的办法是,另外再新增一个UIViewController*aa = [[UIViewController alloc] init];

然后填充到controllers,使其count为6,则再执行上诉代码时,即可以看到第五个标签下的视图。

 

0 0
原创粉丝点击