uikit——UIView——layout

来源:互联网 发布:淘宝店铺没有访客 编辑:程序博客网 时间:2024/05/21 04:39

layout

// Allows you to perform layout before the drawing cycle happens. -layoutIfNeeded forces layout early- (void)setNeedsLayout;- (void)layoutIfNeeded;- (void)layoutSubviews;    // override point. called by layoutIfNeeded automatically. As of iOS 6.0, when constraints-based layout is used the base implementation applies the constraints-based layout, otherwise it does nothing.
解释:
  • layoutSubviews:ios5.1及以前什么都不做,之后版本应用UIView所有constraint,无需开发者直接调用,只有autoresizing和constraint-based不能满足layout要求才override,首次调用在viewWillAppear和viewDidAppear之间,layout view hierarchy
  • setNeedsLayout:invalidate当前layout,layout update during the next update circle,如果没有必要layout,不会layout,但receiver必然layout
  • layoutIfNeeded:layout immediately,如果没有必要layout,不会layout,包括receiver
0 0