iOS开发-Quartz2D绘制时定时器选择
2016-01-29 15:12
288 查看
NSTimer定时器
[NSTimer scheduledTimerWithTimeInterval:0.025 target:self selector:@selector(update) userInfo:nil repeats:YES]; //如果我们使用NSTimer定时器. 设置的执⾏行时间为0.025秒, 假如屏幕刷新时间为0.035.中间就会等待0.010 //绘制图形的时候不建议使用该方法
CADisplayLink定时器
补充知识:
drawRect方法是在view将要显示,已经显示之间调用的
drawRect方法是不能手动调⽤,因为在drawRect方法中才能获取跟View相关联的上下文, 系统在调用DrawRect方法时,会⾃动帮你创建一个跟View相关联的上下文,并且传递给它.
解决办法:想要重绘,调⽤[self setNeedsDisplay]; 告诉系统重新绘制View,系统就会自动帮你调用drawRect方法,系统在调用 drawRect方法,它会帮你创建上下文
//setNeedsDisplay:会调用drawRect,但是它并不是立马调用的,只是设置一个标志.当下一次屏幕刷新的时候. //我们在绘制的时候使用定时器最好使用CADisplayLink. 创建CADisplayLink定时器 这个定时器⽅法它是当每次屏幕刷新的时候调⽤(屏幕每一秒刷新60次); //使⽤用CADisplayLink不需要考虑时间间隔. CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(update)]; //要让它工作, 必须得要把定时器添加到主运行循环 [link addToRunLoop:[NSRunLoop mainRunLoop]forMode:NSDefaultRunLoopMode];
相关文章推荐
- iOS发布应用透明图标转非透明图标
- [iOS]集成环信SDK然后运行时候crash了-[NSBundle initWithURL:]: nil URL argument'
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- ios高效开发-理解属性和正确的使用属性
- IOS 运行时 Runtime 今天开始学习
- iOS中tableview刷新某一行
- iOS清楚緩存
- iOS开发-数据存储
- iOS 常量字符串
- iOS之轻松上手block(下)
- iOS之轻松上手block(上)
- iOS进阶7--桥接JS和Native
- IOS CALayer 详解
- iOS 瀑布流的简单用法
- ios系统地图的定位功能
- iOS:根据键盘的弹出隐藏自动调整View的位置
- ios 应用程序之间的跳转
- iOS AutoLayout自动布局修改约束的值,延迟加载
- ios9 状态栏颜色设置
- IOS改变导航栏标题颜色