• layoutSubviews总结(转)


     

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

          You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you want.

     layoutSubviews, 当我们在某个类的内部调整子视图位置时,需要调用。

     刷新子对象布局

    -setNeedsLayout方法: 标记为需要重新布局,异步调用layoutIfNeeded刷新布局,不立即刷新,但layoutSubviews一定会被调用
    -layoutIfNeeded方法:如果,有需要刷新的标记,立即调用layoutSubviews进行布局(如果没有标记,不会调用layoutSubviews)

    如果要立即刷新,要先调用[view setNeedsLayout],把标记设为需要布局,然后马上调用[view layoutIfNeeded],实现布局

    -setNeedsDisplay方法:标记为需要重绘,异步调用drawRect
    -setNeedsDisplayInRect:(CGRect)invalidRect方法:标记为需要局部重绘

     

     layoutIfNeeded遍历的不是superview链,应该是subviews链

    setNeedDisplay在receiver标上一个需要被重新绘图的标记,在下一个draw周期自动重绘,iphone device的刷新频率是60hz,也就是1/60秒后重绘

  • 相关阅读:
    90. 子集 II 回溯算法
    47. 全排列 II 回溯算法
    40. 组合总和 II
    39. 组合总和 回溯
    NLP 第八课 语言技术-文本与LDA主题模型
    36. 有效的数独
    31. 下一个排列
    HDU 4527
    HDU 4521
    HDU 5191
  • 原文地址:https://www.cnblogs.com/pengpengzhang/p/5301897.html
Copyright © 2020-2023  润新知