美文网首页iOS面试基础知识点
setNeedsDisplay、setNeedsLayout、l

setNeedsDisplay、setNeedsLayout、l

作者: liboxiang | 来源:发表于2019-03-08 11:29 被阅读0次

    setNeedsDisplay / setNeedsDisplayInRect:

    通知系统视图需要被重绘,draw方法会被调用。将在下一个绘图周期重新绘制所有无效视图

    setNeedsLayout

    当想要调整子视图布局的时候,在主线程调用此方法

    layoutIfNeeded

    使用此方法强制视图立即更新其布局。使用“自动布局”时,布局引擎会根据需要更新视图的位置,以满足约束的更改。用接收此消息的视图作为根视图开始布局视图子树。如果没有待处理的布局更新,则此方法退出而不修改布局或调用任何与布局相关的回调。

    layoutSubviews

    子类可以根据需要覆盖此方法,以执行其子视图的更精确布局。仅当子视图的自动调整大小和基于约束的行为不能满足需要时,才应覆盖此方法。您可以使用实现直接设置子视图的框架矩形。

    您不应该直接调用此方法。如果要强制进行布局更新,可以调用setNeedsLayout方法,则将在下次runloop循环结束的时候进行实际绘制。如果要立即更新视图的布局,请调用layoutIfNeeded方法。

    相关文章

      网友评论

        本文标题:setNeedsDisplay、setNeedsLayout、l

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