标签:style ar color 使用 sp for on 文件 数据
1,画图中的两个方法的区别:
drawAtPoint:该方法以图片的实际大小来显示
drawInRect:该方法会将图片拉伸填充指定的整个rect
drawAsPatternInRect:该方法会将图片以实际大小平铺到指定的rect中
2,drawRect:方法调用的时间是当View调用viewWillAppear的时候系统调用,在该方法中,调用的时候可以在该方法中拿到layer的图层上下文。、
注意:drawRect方法是系统调用的,view不能调用,view可以通过调用setNeedDisplay来间接调用drawRect方法。
: 程序启动,显示自定义的view。当程序第一次显示在我们眼前的时候,程序会调用drawRect:方法,在里面获取了图形上下文(在内存中拥有了),然后利用图形上下文保存绘图信息,可以理解为图形上下文中有一块区域用来保存绘图信息,有一块区域用来保存绘图的状态(线宽,圆角,颜色)。直线不是直接绘制到view上的,可以理解为在图形上下文中有一块单独的区域用来先绘制图形,当调用渲染方法的时候,再把绘制好的图形显示到view上去。
3,图形上下文栈
CGContextSaveGState(ctx);
方法,把当前获取的上下文拷贝一份,保存一份最纯洁的图形上下文。5 补充说明
1.drawRect:
(1)为什么要实现drawRect:?法才能绘图到view上?
因为在drawRect:?法中才能取得跟view相关联的图形上下文
(2)drawRect:?法在什么时候被调用?
当view第一次显示到屏幕上时(被加到UIWindow上显示出来)
调用view的setNeedsDisplay或者setNeedsDisplayInRect:时
第一个:
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateImage) userInfo:nil repeats:YES];
说明: NSTimer一般用于定时的更新一些非界面上的数据,告诉多久调用一次
第二个:
CADisplayLink *display= [CADisplayLink displayLinkWithTarget:self selector:@selector(updateImage)];
[display addToRunLoop:[NSRunLoopmainRunLoop] forMode:NSDefaultRunLoopMode];
说明: CADisplayLink刷帧,默认每秒刷新60次。该定时器创建之后,默认是不会执行的,需要把它加载到消息循环中
图形上下文的作用:
(1)保存绘图信息、绘图状态
(2)决定绘制的输出目标(绘制到什么地?去?) (输出目标可以是PDF?文件、Bitmap或者显示器的窗口上)
相同的?套绘图序列,指定不同的Graphics Context,就可将相同的图像绘制到不同的目标上
标签:style ar color 使用 sp for on 文件 数据
原文地址:http://www.cnblogs.com/-boy/p/4158560.html