美文网首页
ios layoutSubviews, layoutIfNeed

ios layoutSubviews, layoutIfNeed

作者: _秃头少女_ | 来源:发表于2019-04-24 18:01 被阅读0次
    layoutSubviews:

    不是供用户调用的,而是系统自动调用的,我们能做的就是重写该方法.

        1   调用 addSubview 方法时会执行该方法。
        2   设置并改变子视图的frame属性时会触发该方法。
        3   滑动UIScrollView及继承与UIScrollView的控件时会触发该方法。
        4   旋转屏幕时,会触发父视图的layoutSubviews方法。
        5   设置并改变视图的frame属性时会触发父视图的layoutSubviews方法。
    
    layoutIfNeeded:

    立即布局子视图,使用这个方法可以在系统绘制视图之前强制(重新)布局子视图。这个方法将从当前视图开始布局当前视图树之下的所有子视图。

    setNeedsLayout:

    调用之后不会立即更新布局(在当前布局周期发送setNeedsLayout消息是无效的,直到下一个布局周期才会触发布局更新。)当你想要调整子视图的布局时,你可以在应用的主线程调用该方法。这个方法将记录布局请求,并立即返回。由于该方法不强制立即更新,而是等到下一个更新周期,所以你可以在当前的无效周期内添加多个多个视图的布局,等到下一个周期同一更新。这么做通常可以获得更好的性能。

    相关文章

      网友评论

          本文标题:ios layoutSubviews, layoutIfNeed

          本文链接:https://www.haomeiwen.com/subject/hkhngqtx.html