【发布时间】:2018-04-03 14:07:48
【问题描述】:
我有一个带有四个标签的标签栏控制器。对于一个选项卡,我创建了一个带有导航视图控制器和简单 UIViewController 的新故事板。对于其他选项卡,在同一情节提要中将视图控制器与导航控制器连接起来。
当我尝试从第一个选项卡的新故事板启动第一个视图控制器时,它没有显示选项卡栏。对于其他人,它正在正确显示标签栏。
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSInteger index = [tabBar.items indexOfObject:item];
if(index == 0){
UIViewController *suggestionsViewCintroller = (UIViewController *)[[UIStoryboard storyboardWithName:@"suggestions_view" bundle:nil] instantiateViewControllerWithIdentifier:@"suggestions_view_controller"];
[self addChildViewController:suggestionsViewCintroller];
[self.view addSubview:suggestionsViewCintroller.view];
suggestionsViewCintroller.hidesBottomBarWhenPushed = NO;
[suggestionsViewCintroller didMoveToParentViewController:self];
}
}
视图控制器和标签栏控制器位于不同的故事板中。
为什么不显示标签栏?
【问题讨论】:
-
您是否尝试过使用情节提要参考?你真的不应该为标签栏项目手动添加子视图控制器。
-
视图控制器和标签栏控制器在不同的故事板中
-
是的,但是使用 Storyboard References,您应该能够将第二个 Storyboard 设置为选项卡栏控制器中选项卡的视图控制器。
-
你能分享你的解决方案吗?我不知道
-
这篇文章更深入:code.tutsplus.com/tutorials/… 但简单来说,在定义标签栏视图控制器的情节提要中,从对象库中拖动一个新的“情节提要参考”项并将其设置为标签栏控制器中的视图控制器。
标签: ios objective-c uinavigationcontroller uitabbar