我想将子视图控制器添加到根视图控制器
在界面构建器中我放了一个如下所示的容器:
我希望将容器的默认边距20添加到其超级视图
但是,childviewcontroller中的视图似乎滑出了容器的边界
为什么?
self.lvc = (LoginViewController *) [self.storyboard loginViewController];
[self addChildViewController:self.lvc];
self.fullFrameContainer.translatesAutoresizingMaskIntoConstraints = NO;
[self.fullFrameContainer addSubview:self.lvc.view];
[self.lvc didMoveToParrentViewController:self];
result :
答案 0 :(得分:1)
我不确定你看到了什么,但是你应该在你的根ViewController旁边添加第二个ViewController,设置embeded segue,然后设置你的containsverView的约束为你选择的20 pt,在你应该设置的子VC中你也应该设置你的约束在每个方向都是0(领先,尾随,顶部,底部)。您在IB中的子VC也会自动调整大小,以便您对子VC框架有视觉反馈。
修改强>
在代码或故事板中更新您的lvc框架,它将起作用:
self.lvc = [self.storyboard instantiateViewControllerWithIdentifier:@"childVC"];
NSLog(@"%.0f %.0f", self.lvc.view.frame.size.width, self.lvc.view.frame.size.height);
self.lvc.view.frame = CGRectMake(0.0, 0.0, 280.0, 508.0);
[self.lvc.view layoutSubviews];
[self addChildViewController:self.lvc];
self.fullFrameContainer.translatesAutoresizingMaskIntoConstraints = NO;
[self.fullFrameContainer addSubview:self.lvc.view];
答案 1 :(得分:1)
在viewWillAppear中我添加了这一行
self.lvc.view.frame = self.fullFrameContainer.bounds;
它修复了浮动框架问题