以+ scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,该如何解决?
来源:简书 发布时间:2020-05-22 11:30:20

以+ scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?

RunLoop只能运行在一种mode下,如果要换mode,当前的loop也需要停下重启成新的。利用这个机制,ScrollView滚动过程中NSDefaultRunLoopMode(kCFRunLoopDefaultMode)的mode会切换到UITrackingRunLoopMode来保证ScrollView的流畅滑动:只能在NSDefaultRunLoopMode模式下处理的事件会影响ScrollView的滑动。

如果我们把一个NSTimer对象以NSDefaultRunLoopMode(kCFRunLoopDefaultMode)添加到主运行循环中的时候, ScrollView滚动过程中会因为mode的切换,而导致NSTimer将不再被调度。

同时因为mode还是可定制的,所以:

Timer计时会被scrollView的滑动影响的问题可以通过将timer添加到NSRunLoopCommonModes(kCFRunLoopCommonModes)来解决。代码如下:

undefined

//将timer添加到NSDefaultRunLoopMode中

[NSTimer scheduledTimerWithTimeInterval:1.0

target:self

selector:@selector(timerTick:)

userInfo:nil

repeats:YES];

//然后再添加到NSRunLoopCommonModes里

NSTimer *timer = [NSTimer timerWithTimeInterval:1.0

target:self

selector:@selector(timerTick:)

userInfo:nil

repeats:YES];

[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

作者:华语新空

标签: scheduledtimerwithtimeinterval

猜你喜欢

火车高铁霸座将属于违法行为 年满14周岁买全票

随着交通上越来越便利,大家出行都会选择较为快速的交通工具了,现如今很多地方都可以乘坐火车高铁...更多

2021-11-01 15:24:39

中秋节去哪里旅游 哪些机票比较便宜

又是一年中秋节即将到来了,不少人都非常起到假期的,因为可以趁着假期去不同的地方游玩。打算出行...更多

2021-09-13 19:32:54

舟山旅游景点有哪些? 住宿一般多少钱一晚?

不少人都喜欢趁着假期去不同的地方旅游,因为我国景点众多,热门的景点很受欢迎,去旅游之前当然要...更多

2021-05-10 16:07:55

12306退票手续费是怎么收取 具体规定是什么?

随着交通的便利,现在很多地方都有开通高铁了,特别是购票平台增多,12306就是多数人常用的出行购票...更多

2021-05-08 15:59:52

旅游报告:五一小众目的地民宿走俏 “携宠出游住

今年五一假期,旅游热度持续走高,出游方式呈现出个性化。民宿短租预订平台途家近日发布的《2021年...更多

2021-05-07 15:55:17

ETC免费期间怎么走更合理? 五一出游攻略来了

国家实行ETC系统之后,全国各地高速公路都已实现不停车快捷收费。但大家都知道,像春节、五一、国庆...更多

2021-04-30 13:26:41

五一假期去哪里旅游比较好 国内这五大好去处你知

马上就要迎来五一假期,今年国家规定放假时间一共有五天的时间,你打算怎么过呢?其实五月份是一个适...更多

2021-04-27 13:47:20

实名制火车票退票规定具体是什么? 手续费是怎么

如今出行的时候,你是选择坐什么交通工具呢?其实对于我们来说,有时候都是会选择乘坐火车的,因为火...更多

2021-04-27 11:30:31

故宫五一门票售罄 每日3万张开售几分钟时间就卖光

距离五一小长假还有几天的时间,对于好多上班族来说是非常开心的,因为又可以外出旅游了。但是近日...更多

2021-04-26 17:08:14

长白山擦亮旅游品牌 加快建设国际一流的富有文化

长白三月不多春,赏凇戏雪正当时。吉林长白山旅游招商推介会近日在北京举行。吉林省副省长阿东介绍...更多

2021-03-22 17:09:29