使用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,则再执行上诉代码时,即可以看到第五个标签下的视图。