RunLoop

2017-05-19  本文已影响6人  CharlyZheng

1. NSTimer 被UIScrollView暂停

当界面同时存在有定时器和UIScrollView时,比如:一个界面顶部是一个由定时器控制的无限轮播图,下面是一个UIScrollView,这时你如果拖动下面UIScrollView,定时器就会暂停,等UIScrollView的拖动事件结束后定时器才会接着执行。

当你创建输入源(Timer)的时候,需要将其分配给 runloop 中的一个或多个模式。改Timer只会在改特定模式下被触发。

****下面的方法 timer 被添加到 NSDefaultRunLoopMode****

    timer = [NSTimer scheduledTimerWithTimeInterval:10.0
                                             target:self
                                           selector:@selector(getNotificationNews)
                                           userInfo:nil
                                            repeats:YES];

****下面的方法 timer 被添加到 NSRunLoopCommonModes****

    timer = [NSTimer timerWithTimeInterval:10.0
                                    target:self
                                  selector:@selector(getNotificationNews)
                                  userInfo:nil
                                   repeats:YES];
    
    [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

深入理解RunLoop

上一篇下一篇

猜你喜欢

热点阅读