约束更新后,UIView的界限何时发生变化?

时间:2018-01-06 02:51:56

标签: ios uiview uiviewcontroller autolayout nslayoutconstraint

在我的视图控制器viewDidLoad中,我调整UIImageView的约束以反映其图像的宽高比。完成后,我想知道图像视图的更新界限。界面执行在UI中更新,但是当调用viewWillLayoutSubviewsviewDidLayoutSubviews时(每个只调用一次),边界仍然是我更改之前的原始边界纵横比。我应该何时检查边界并进行相关更改?

2 个答案:

答案 0 :(得分:0)

尝试覆盖方法-updateViewConstraints

$.

答案 1 :(得分:0)

更新viewDidLoad中的约束后,使用下面的任何一个更新

 [yourImageViewOL setNeedsDisplay];
 [yourImageViewOL layoutIfNeeded];   //Allows you to perform layout before the drawing cycle happens. -layoutIfNeeded forces layout early

然后您可以在- (void)layoutSubviews;方法中查找更新的边界,因为此方法会被layoutIfNeeded自动调用。

  

从iOS 6.0开始,当使用基于约束的布局时,基本实现应用基于约束的布局,否则它什么都不做。