我现在试图替换UISplitViewController的详细视图已经有一段时间了,但我在互联网上找到的解决方案并不是很有用。
我正在执行此操作:
DetailViewController* secondVc = [[DetailViewController alloc] init];
NSMutableArray* arr = [[NSMutableArray alloc] initWithArray:self.splitViewController.viewControllers];
[arr replaceObjectAtIndex:1 withObject:secondVc];
[self.splitViewController setViewControllers:arr];
DetailViewController只是一个普通的UIViewController(这是问题?)我选择红色作为背景,但是在执行此代码后,我在详细视图中看到一个完全灰色的区域。
让我感到惊讶的是,为DetailView类调用了viewDidLoad和viewDidAppear函数,但我无法在屏幕上看到它。 self.view.frame是0,0,768,1024虽然我的所有设置都在故事板中处于横向模式。
我只想在横向模式下使用它,我不需要通用解决方案。
更改拆分视图控制器的详细视图的最基本方法是什么?我看过Apple的MultipleDetailViews,但感觉有些过分,因为它中的大部分代码都是关于响应方向的变化,比如隐藏主vc等。
答案 0 :(得分:1)
在情节提要中,选择视图控制器。在右侧,转到“模拟指标”并选择“详细信息”作为“大小”。至于颜色,请尝试在viewDidLoad中设置它。
答案 1 :(得分:1)
我怀疑你的问题是使用alloc init来实例化secondVC - 如果你在代码中创建控制器的视图,或者在名为“DetailViewController”的xib中使用它。由于您似乎正在使用故事板,因此您应该使用,
DetailViewController* secondVc = [self.storyboard instantiateViewControllerWithIdentifier:@"secondVC"]; // be sure to use this same identifier in the storyboard