我开始使用UITabBarController
,这很棒。
问题是我有一些无法从UITabBar访问的视图 (以编程方式呈现模式或我们希望在顶部有一个按钮跳转到它们)
问题是我想保留这些视图中可见的标签栏
根据我的理解,混合presentViewController
和UITabBarController
是有问题的。
我该怎么做?我可以隐藏"标签栏元素我可以以编程方式引用吗?
只是为了澄清一个例子:
视图A,B,C,D位于标签栏中 - 通过故事板 - 一切都很好看
我需要从顶部导航中查看E和F视图(请不要建议使用滑动TabBar或多行UITabBar)。
我可以跳转到E和F,但我希望UITabBar
仍然可见,以便用户可以从E跳到A。
答案 0 :(得分:3)
只需为每个标签使用优质的UINavigationController
,然后使用[self.navigationController pushViewController:A animated:YES];
设置在代码中的外观如下:
SGTabBarViewController *rootVC = [[SGTabBarViewController alloc] init];
SGFirstTabViewController *firstVC = [[SGFirstTabViewController alloc] init];
UINavigationController *navController1 = [[UINavigationController alloc] initWithRootViewController:firstVC];
SGSecondTabViewController *secondVC = [[SGSecondTabViewController alloc] init];
UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:secondVC];
SGThirdTabViewController *thirdVC = [[SGThirdTabViewController alloc] init];
UINavigationController *navController3 = [[UINavigationController alloc] initWithRootViewController:thirdVC];
SGForuthTabViewController *fourhtVC = [[SGForuthTabViewController alloc] init];
UINavigationController *navController4 = [[UINavigationController alloc] initWithRootViewController:fourhtVC];
rootVC.viewControllers = @[navController1, navController2, navController3, navController4];
self.window.rootViewController = rootVC;
[self.window makeKeyAndVisible];
如果您想要在每个VC上显示UITabBar
,请在其上使用hidesBottomBarWhenPushed = NO;
。
但是,在模态显示的视图中无法显示UITabBar
。