【发布时间】:2016-07-07 02:55:44
【问题描述】:
我将UIViewController 显示为UIPageViewController 中的页面之一。
这个 viewController (VC1) 的大小为 (320, 568)。然后我要做的是使用这种方法显示另一个 VC:
- (void)displayContentController:(UIViewController *)content {
[self addChildViewController:content];
content.view.frame = self.view.frame;
[self.view addSubview:content.view];
[content didMoveToParentViewController:self];
}
这样称呼:
NewViewController *newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NewViewController"];
[self displayContentController:newVC];
我这样做而不是推动它或以模态方式呈现它的原因是因为我需要它与另一个 UIViewController(VC1) 重叠,在与 UIPageViewController 滑动时模糊它,就像 VC1 通常那样。
newVC 中的viewDidLoad 最初报告的是 (320, 568) 的 self.view.frame,但稍后它突然报告了 (320, 571) 的 self.view.frame - 而不是 568 的高度.
我正在使用自动布局。
为什么会这样,我该如何解决?
【问题讨论】:
标签: ios objective-c uiviewcontroller autolayout storyboard