iOS UIView:setNeedLayout,setNeedDisplay,layoutSubViews和layoutIfNeeded

时间:2017-02-10 11:23:59

标签: ios objective-c uiview

任何人都能说出来 这四种方法定义了什么以及它们做了​​什么

 1. setNeedLayout
 2. setNeedDisplay
 3. layoutSubViews
 4. layoutIfNeeded.

我用Google搜索了很多都找不到合适的答案。

1 个答案:

答案 0 :(得分:4)

  1. setNeedsLayout对于调用第4个layoutIfNeeded非常有用。它真的需要它。
  2. setNeedsDisplay在下一次运行循环迭代时调用drawRect方法,并且与其他三种方法无关
  3. layoutSubviews执行视图子视图的实际布局
  4. layoutIfNeeded在需要时调用layoutSubviews。您可以使用第一种方法setNeedsLayout
  5. 来完成它