定时器

CADisplayLink:时间间隔比较小(使用时间频率高)的时候用(适合小游戏中开发)

NSTimer:时间间隔比较大的时候调用(适合图片轮放的时候用)


//声明定时器

@property (nonatomic,strong) NSTimer *timer;

/**
* 添加定时器
*/
- (void)addTimer
{
self.timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(nextImage) userInfo:nil repeats:YES];
//NSRunLoop可以优先级处理些定时器(线程优先)
[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
}

/**
* 移除定时器
*/
- (void)removeTimer
{
[self.timer invalidate];//设置定时器无效
    self.timer = nil;
}

调用代理时 定时器 事例:


#pragma  mark -代理方法

/**
当scrollView正在滚动就会调用 */
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
//根据scrollView的滚动位置决定pageControl显示第几页
CGFloat scrollW=self.scrollView.frame.size.width;
int page=(scrollView.contentOffset.x+scrollW*0.5)/scrollW;
self.pageControl.currentPage=page;
} /**
开始拖拽的时候调用
*/ -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
//停止定时器(一旦定时器停止了,就不能再使用)
[self removeTimer];
} /**停止拖拽的时候调用*/
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
//开启定时器
[self addTimer];
}

IOS 添加定时器(NSTimer)的更多相关文章

  1. [置顶] ios 时间定时器 NSTimer应用demo

    原创文章,转载请注明出处:http://blog.csdn.net/donny_zhang/article/details/9251917 demo功能:ios NSTimer应用demo .ipho ...

  2. IOS中定时器NSTimer的开启与关闭

    调用一次计时器方法: myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scro ...

  3. 【转】iOS中定时器NSTimer的使用

    原文网址:http://www.cnblogs.com/zhulin/archive/2012/02/02/2335866.html 1.初始化 + (NSTimer *)timerWithTimeI ...

  4. iOS中定时器NSTimer的使用-备用

    1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelect ...

  5. 【转】IOS中定时器NSTimer的开启与关闭

    原文网址:http://blog.csdn.net/enuola/article/details/8099461 调用一次计时器方法: myTimer = [NSTimer scheduledTime ...

  6. 【转】 IOS中定时器NSTimer的开启与关闭

    原文网址:http://blog.csdn.net/enuola/article/details/8099461 调用一次计时器方法: myTimer = [NSTimer scheduledTime ...

  7. 蜗牛爱课- iOS中定时器NSTimer使用

    调用一次计时器方法: //不重复,只调用一次.timer运行一次就会自动停止运行 self.locationTimer = [NSTimer  target:self selector: @selec ...

  8. iOS中定时器NSTimer的使用/开启与关闭

      一.只调用一次计时器方法: //不重复,只调用一次.timer运行一次就会自动停止运行 myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5  ...

  9. ios 中定时器:NSTimer, CADisplayLink, GCD

    #import "ViewController.h" #import "RunloopViewController.h" @interface ViewCont ...

随机推荐

  1. 51Nod - 1242 斐波那契(快速幂)

    斐波那契数列的定义如下:   F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2)   (1, 1, 2, 3, 5, 8, 13, 21, ...

  2. Java中的String、StringBuffer和StringBuilder的区别

    类型  是否可变  线程安全  能否频繁修改  String  不可变  安全  否  StringBuffer  可变  安全  能  StringBuilder  可变  不安全  能 1.可变与 ...

  3. asp.net模板页实现类似jquery中document.ready

    模板页先判断是否有方法DocumentReady,有的话就调用 1.模板页 <script type="text/javascript" language="jav ...

  4. put get & push pull

    总要有一个容器,一个生产方,一个消费方

  5. table size script :

    I think Jonathan Lewis has explained the algorithm before, but it's alsosomething that we have inves ...

  6. ztree 获取最下级的子节点内容

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. sed替换命令

    sed替换命令 语法为: sed ' [ address-range | pattern-range ] s/original-string/replacement-string/[substitut ...

  8. LeetCode 62.不同路径(C++)

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 问总共有多 ...

  9. 断路器hystrix

    分布式系统中不可避免的会出现一些故障,因为服务间错综复杂的依赖关系,有时候一个服务出现问题后,会导致依赖于它的服务出现远程调度的线程受阻,给服务造成压力,当然同样的,祖父级调用者(暂且这么叫吧)当然也 ...

  10. RSA算法、SSL协议学习笔记

    最近学习计算机网络,涉及到SSL协议,我想起了去年密码学课程讲过的非对称加密RSA算法,结合阮老师的博客,写写学习笔记,这里再回忆一下. RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指 ...