美文网首页
UIView的绘制

UIView的绘制

作者: ax4c | 来源:发表于2017-04-23 16:00 被阅读0次

    iOS是MVC模式,其中View是UIView或者UIView的子类。如果应用需要实现特殊的效果,通常都是通过自定义UIVew子类来实现的。UIView的父类是UIResponder,顾名思义是用于响应事件,而UIView可以专门来“画图”了(实际上是通过CALayer)。那么一个UIView对象是如何绘制的?

    在UIView.h文件中,Apple告诉我们:

    /* To render a window, the following passes will occur, if  necessary.  
    
     update constraints
     layout
     display
    
     Please see the conceptual documentation for a discussion  of these methods.
     */    
    

    也就是三步:更新约束(计算坐标、尺寸)、布局(排列子视图)、显示(绘制)。
    相关的方法主要是updateConstraintslayoutSubviewsdrawRect,这些方法都是由系统在特定情况下进行调用,不需要我们自己调用。如果数据发生了变化想重新渲染,可以使用setNeedsUpdateConstraintssetNeedsLayoutsetNeedsDisplay设置标志。

    下面是一个简单测试:

    调用顺序

    如有错误,欢迎指出!

    相关文章

      网友评论

          本文标题:UIView的绘制

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