zoukankan      html  css  js  c++  java
  • iOS开发-Quartz2D绘制时定时器选择

    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];
  • 相关阅读:
    16.小程序request请求
    15.小程序接入百度地图获取地理位置
    14. 微信小程序之wxss
    13.小程序视图层的模板
    es6字符串几个方法的理解
    记一次仿京东首页的轮播图效果
    ES6中Promise使用方法
    关于新版VS编辑环境下提示fopen不安全的问题报C4996错误的解决办法
    css布局拓展
    HTML的表单元素
  • 原文地址:https://www.cnblogs.com/liugengqun/p/5169082.html
Copyright © 2011-2022 走看看