关于layoutSubviews

layoutSubviews 是什么?

设定subviews的尺寸和位置,如果要精确布局,可以在子类里重写此方法。不能直接调用此方法,如果想强制layout刷新,调用setNeedsLayout来代替,如果想立即刷新view,调用layoutIfNeeded。

1不会触发layoutSubviews的情况

init

2会触发layoutSubviews的情况

addSubview  注意:如果view的frame为zero,即使被添加了也不会调用layoutSubviews

设置frame(前后值发生变化) 

滚动scrollview

改变一个view的大小也会触发父view上的

3注意

在重写layoutSubviews的时候也要[super layoutSubviews];否则会布局不准确。

原文地址:https://www.cnblogs.com/encoreMiao/p/5530501.html