iOS 应用层

autolayout 与 约束 函数的使用

2020-02-18  本文已影响0人  介和

setNeedsLayout

setNeedsLayout:告知页面需要更新,但是不会立即开始更新.执行后立即调用layoutsubviews;

layoutIfNeeded

layoutIfNeeded:告知页面需要立即更新,所以一般会和setNeededLayout配合使用.如果希望立即生成新的frame需要调用此方法,利用这点一般布局动画可以使用这个方法是动画生效.

layoutsubviews

layoutsubviews:系统重写布局

setNeedsUpdateConstraints

setNeedsUpdateConstraints:告知需要更新约束,但是不会立刻开始

updateConstraintsIfNeeded

updateConstraintsIfNeeded:告知立刻更新约束

updateConstraints

updateConstraints:系统更新约束

那么了解完第一第二个方法之后我们的问题就很顺利的解决了,当使用autolayout布局时如果需要取得某个控件的frame,我们只需要用该控件的对象调用setNeedsLayout和layoutIfNeeded方法然后实现layoutsubviews或者viewDidLayoutSubviews(当控件直接写在controller里时)方法即可!

上一篇 下一篇

猜你喜欢

热点阅读