我将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一样通常会。
viewDidLoad
中的{p> newVC
首先报告self.view.frame
(320,568),但稍后它突然报告了self.view.frame
(320,571) ) - 而不是568的高度。
我正在使用自动布局。
为什么会这样,我该如何解决?
答案 0 :(得分:0)
在viewDidLoad()
方法框架中,不提供控制器视图的实际大小。要获得正确的大小,请尝试在ViewController的viewdidlayoutsubviews()
方法中进行检查