美文网首页优化
iOS layoutSubviews 和 layoutIfNee

iOS layoutSubviews 和 layoutIfNee

作者: 清风_____ | 来源:发表于2021-01-27 19:11 被阅读0次

    layoutSubviews在以下情况下会被调用:

    1、init初始化不会触发layoutSubviews

    但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发

    2、addSubview会触发layoutSubviews

    3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化

    4、滚动一个UIScrollView会触发layoutSubviews

    5、旋转Screen会触发父UIView上的layoutSubviews事件

    6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件

    layoutIfNeeded

    也就是使用约束的时候 调一下可以立即更新效果
    setNeedsLayout方法并不会立即刷新,立即刷新需要调用layoutIfNeeded方法!

    setNeedsDisplay

    与setNeedsLayout方法相似的方法是setNeedsDisplay方法。该方法在调用时,会自动调用drawRect方法。drawRect方法主要用来画图。所以,当需要刷新布局时,用setNeedsLayOut方法;当需要重新绘画时,调用setNeedsDisplay方法。

    https://www.jianshu.com/p/9664a7c07f36
    https://blog.csdn.net/s133315202/article/details/47108531

    相关文章

      网友评论

        本文标题:iOS layoutSubviews 和 layoutIfNee

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