UISplitViewController detailview更改结果是灰色区域

时间:2014-05-01 00:54:20

标签: ios objective-c uikit ipad

我现在试图替换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等。

2 个答案:

答案 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