三種方法都用于重新整理子對象布局,解釋分别如下:
-layoutSubviews方法:這個方法,預設沒有做任何事情,需要子類進行重寫
-setNeedsLayout方法: 标記為需要重新布局,異步調用layoutIfNeeded重新整理布局,不立即重新整理,但layoutSubviews一定會被調用
-layoutIfNeeded方法:如果,有需要重新整理的标記,立即調用layoutSubviews進行布局(如果沒有标記,不會調用layoutSubviews)
互相之間的關系,setNeedsLayout隻進行标記,layoutIfNeeded判斷是否有重新整理标記。如果有标記就會調用layoutSubviews布局。