在我看来 Controller 的 viewDidLoad
, 我正在调整 UIImageView
的约束来反射(reflect)其图像的纵横比。完成后,我想知道 ImageView 的更新边界。边界确实在 UI 中更新,但是当 viewWillLayoutSubviews
和 viewDidLayoutSubviews
被调用(每个只被调用一次),边界仍然是我改变纵横比之前的原始边界。我应该何时检查边界并进行相关更改?
最佳答案
更新 viewDidLoad
中的约束后, 使用以下任一更新它们
[yourImageViewOL setNeedsDisplay];
[yourImageViewOL layoutIfNeeded]; //Allows you to perform layout before the drawing cycle happens. -layoutIfNeeded forces layout early
然后您可以在
- (void)layoutSubviews;
中查找更新的边界。方法,因为此方法由 layoutIfNeeded 自动调用。As of iOS 6.0, when constraints-based layout is used the base implementation applies the constraints-based layout, otherwise it does nothing.
关于ios - 约束更新后,UIView 的边界什么时候改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48123836/