iOS - 定时器NSTimer不受UISrollView滑动影响

创建不受滑动影响的NSTimer步骤:

1.手动创建一个NSTimer

2.获取当前线程的RunLoop

3.将NSTimer 按照指定模式加入到RunLoop中

具体代码如下:

- (void)addTimer{

             NSTimer *timer=  [NSTimer scheduledTimerWithTimeInterval:1.0 target:self        selector:@selector(timerFunction:) userInfo:nil repeats:YES];

             [timer setFireDate:[NSDate distantPast]];

            //解决滑动 定时器不走的问题

            NSRunLoop *runLoop = [NSRunLoop currentRunLoop];

            [runLoopaddTimer:timer forMode:NSRunLoopCommonModes];

}

本质:

加入到commonModes中,实际上系统是找出commonModes代表的所有Mode(如NSDefaultRunLoopMode、UITrackingRunLoopMode),然后分别将其加入这些mode中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值