Ios 约束更新后,UIView';什么是边界变化?
在我的视图控制器的Ios 约束更新后,UIView';什么是边界变化?,ios,uiview,uiviewcontroller,autolayout,nslayoutconstraint,Ios,Uiview,Uiviewcontroller,Autolayout,Nslayoutconstraint,在我的视图控制器的viewDidLoad中,我正在调整UIImageView的约束以反映其图像的纵横比。完成后,我想知道图像视图的更新边界。界面中的边界确实会更新,但当调用viewWillLayoutSubviews和viewdillayoutsubviews时(每个视图只调用一次),边界仍然是我更改纵横比之前的原始边界。我应该什么时候检查边界并进行相关更改?尝试覆盖方法-updateViewConstraints - (void)updateViewConstraints { [sup
viewDidLoad
中,我正在调整UIImageView
的约束以反映其图像的纵横比。完成后,我想知道图像视图的更新边界。界面中的边界确实会更新,但当调用viewWillLayoutSubviews
和viewdillayoutsubviews
时(每个视图只调用一次),边界仍然是我更改纵横比之前的原始边界。我应该什么时候检查边界并进行相关更改?尝试覆盖方法-updateViewConstraints
- (void)updateViewConstraints {
[super updateViewConstraints];
/// your code here
}
更新
视图didload
中的约束后,使用以下任一约束更新它们
[yourImageViewOL setNeedsDisplay];
[yourImageViewOL layoutIfNeeded]; //Allows you to perform layout before the drawing cycle happens. -layoutIfNeeded forces layout early
然后,您可以在-(void)布局子视图中查找更新的边界代码>方法,因为LayoutIfNeed自动调用此方法
从iOS 6.0开始,当使用基于约束的布局时,基本实现将应用基于约束的布局,否则它将什么也不做
图像视图是视图控制器的视图的直接子视图吗?还是嵌套得更深?