【问题标题】:UISplitViewController detailview changing result is gray areaUISplitViewController detailview 更改结果为灰色区域
【发布时间】:2014-05-01 00:54:19
【问题描述】:

我尝试替换 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 等。

【问题讨论】:

  • 你在哪里制作 DetailViewController 的视图?在故事板或 xib 中?在代码中?

标签: ios objective-c uikit ipad


【解决方案1】:

我怀疑您的问题是使用 alloc init 来实例化 secondVC - 如果您在代码中或在名称为“DetailViewController”的 xib 中创建控制器的视图,这将起作用。既然您似乎正在使用情节提要,那么您应该使用,

DetailViewController* secondVc = [self.storyboard instantiateViewControllerWithIdentifier:@"secondVC"]; // be sure to use this same identifier in the storyboard

【讨论】:

  • 我不敢相信我怎么会错过这个,我非常感谢你:)
【解决方案2】:

在情节提要中,选择视图控制器。在右侧,转到“Simulated Metrics”并为“Size”选择“Detail”。至于颜色,可以在viewDidLoad中设置。

【讨论】:

  • 是的,我已经做到了,感谢您的指出。颜色与 rdelmar 的解决方案配合得很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多