我有一个标签栏控制器与三个选项卡,我设置编程。两个第一个只是UIViewController
,但第三个是我从另一个故事板获得的UISplitViewController
。一切都很好,但是当我在纵向模式下显示主视图时,这个显示在标签栏的顶部。我想继续显示完整的标签栏。从分离视图控制器的主显示在标签栏
试图展示从在主视图中的项目栏按钮的UIAlertController
(该按钮不会在图像中存在)作为酥料饼被显示在主视图后面时,这也产生问题。
有谁知道我该如何解决这个问题?
我把他们的方式编程是这样(的情况下,它可以帮助):
UIViewController *view1 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"FirstView"];
UIViewController *view2 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"SecondView"];
UIViewController *view3 = [[UIStoryboard storyboardWithName:@"StoryboardSplit" bundle:nil] instantiateViewControllerWithIdentifier:@"MySplitView"];
UISplitViewController *splitViewController = (UISplitViewController *)view3;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem;
splitViewController.delegate = self;
NSMutableArray *tabViewControllers = [[NSMutableArray alloc] init];
[tabViewControllers addObject:view1];
[tabViewControllers addObject:view2];
[tabViewControllers addObject:splitViewController];
[self setViewControllers:tabViewControllers];
view1.tabBarItem =
[[UITabBarItem alloc] initWithTitle:@"view1"
image:[UIImage imageNamed:@"view1"]
tag:1];
view2.tabBarItem =
[[UITabBarItem alloc] initWithTitle:@"view2"
image:[UIImage imageNamed:@"view2"]
tag:2];
view3.tabBarItem =
[[UITabBarItem alloc] initWithTitle:@"view3"
image:[UIImage imageNamed:@"view3"]
tag:3];
我认为没关系。您可以左滑动来隐藏它。在横向方向一切都很好。 – 2015-03-03 14:51:03
根据文档,'UISplitViewController'必须始终是根视图控制器。在你的情况下,选项卡视图控制器是根。 – HAS 2015-03-03 15:40:45
UISplitViewController不必总是iOS 8的根。请参阅[Apple开发者论坛](https://forums.developer.apple.com/thread/15118) – user3847320 2015-10-30 18:56:41