oc中viewcontroller展示之前设置它和父视图的约束
在OC中,在展示一个ViewController之前设置它和父视图的约束可以通过以下步骤进行:
- 创建ViewController的实例对象:
ViewController *viewController = [[ViewController alloc] init];
- 将ViewController的视图添加到父视图中:
[self.view addSubview:viewController.view];
- 设置ViewController的视图的translatesAutoresizingMaskIntoConstraints属性为NO,以便使用自动布局进行约束:
viewController.view.translatesAutoresizingMaskIntoConstraints = NO;
- 创建和添加约束:
NSLayoutConstraint *topConstraint = [viewController.view.topAnchor constraintEqualToAnchor:self.view.topAnchor];
NSLayoutConstraint *leadingConstraint = [viewController.view.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor];
NSLayoutConstraint *trailingConstraint = [viewController.view.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor];
NSLayoutConstraint *bottomConstraint = [viewController.view.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor];
[self.view addConstraints:@[topConstraint, leadingConstraint, trailingConstraint, bottomConstraint]];
这样,ViewController的视图就会根据约束在父视图中正确展示。请注意,在展示ViewController之前,确保父视图已经存在并且已经完成布局,以便正确设置约束
原文地址: http://www.cveoy.top/t/topic/hUUG 著作权归作者所有。请勿转载和采集!