美文网首页
iOS 定时器NSTimer 不受UISrollView滑动影响

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

作者: 文艺情怀的程序猿 | 来源:发表于2018-10-17 14:50 被阅读0次

    创建不受滑动影响的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中。

    相关文章

      网友评论

          本文标题:iOS 定时器NSTimer 不受UISrollView滑动影响

          本文链接:https://www.haomeiwen.com/subject/ifcrzftx.html