美文网首页
我们经常在drawrect方法里绘制代码,但该方法是谁调用的,何

我们经常在drawrect方法里绘制代码,但该方法是谁调用的,何

作者: 张无奈 | 来源:发表于2018-05-24 17:10 被阅读0次

1、drawRect:方法之前,先调用了 [UIView(CALayerDelegate) drawLayer:inContext:] 和 [CALayer drawInContext:]
2、如果 [self.view addSubview:view]; 被注销掉 则 drawRect 不执行。可以肯定 drawRect方法是由 addSubview 函数触发的。

drawrect方法内为何第一行代码总要获取图形的上下文?
底层原理 :
每一个UIView都有一个layer,每一个layer都有个content,这个content指向的是一块缓存,叫做backing store当UIView被绘制时(从 CA::Transaction::commit:以后),CPU执行drawRect,通过context将数据写入backing store ,当backing store写完后,通过render server交给GPU去渲染,将backing store中的bitmap数据显示在屏幕上。所以在 drawRect 方法中要首先获取 context。

相关文章

  • 我们经常在drawrect方法里绘制代码,但该方法是谁调用的,何

    1、drawRect:方法之前,先调用了 [UIView(CALayerDelegate) drawLayer:i...

  • 绘制线段

    绘制线段 [self setNeedsDisplay]该方法可调用drawRect - (void)drawRec...

  • drawRect

    UIView的绘制和重绘操作在drawRect方法中完成,但是苹果不建议直接调用drawRect方法,如果直接调用...

  • Core Graphics绘图使用场景

    1,在自定义view对象的drawRect:方法中进行绘制 注意:在调用自定义View的drawRect:方法前,...

  • 绘制视图

    当我们想要重绘某个视图的时候,我们不能直接调用drawRect:的方法,因为该方法为系统自动调用,我们手动调用无效...

  • 简单讲讲iOS中UIView的绘制

    UIView 绘制流程图 系统绘制流程 该方法用来干涉系统绘制流程 (void)drawRect:(CGRect)...

  • drawRect

    drawRect:方法 每次系统调用drawRect方法之前,都会给drawRect方法传递一个跟当前view相关...

  • Quartz2D绘图相关

    drawRect方法,会在viewWillAppear方法调用之后,viewDidAppear方法调用之前 调用。...

  • 视图绘制

    视图绘制是调用drawRect:方法来实现的。对于AppKit中的各种界面控件,系统默认实现了不同控件的界面绘制和...

  • 《iOS核心动画高级技巧》笔记 — Part1

    中文译文地址 一、UIView与CALayer UIView实现绘制自定义任务时,调用-drawRect:方法,为...

网友评论

      本文标题:我们经常在drawrect方法里绘制代码,但该方法是谁调用的,何

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