为了账号安全,请及时绑定邮箱和手机立即绑定

UIScrollView暂停NSTimer,直到滚动完成

UIScrollView暂停NSTimer,直到滚动完成

iOS
小唯快跑啊 2019-10-09 15:37:19
在UIScrollView滚动(或其派生类)时,似乎所有NSTimers正在运行的程序都被暂停,直到滚动完成为止。有办法解决这个问题吗?线程?优先设置?有什么事吗
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

一个易于实现的解决方案是:


NSTimer *timer = [NSTimer timerWithTimeInterval:... 

                                         target:...

                                       selector:....

                                       userInfo:...

                                        repeats:...];

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


查看完整回答
反对 回复 2019-10-09
?
GCT1015

TA贡献1827条经验 获得超4个赞

对于使用Swift 3的任何人


timer = Timer.scheduledTimer(timeInterval: 0.1,

                            target: self,

                            selector: aSelector,

                            userInfo: nil,

                            repeats: true)



RunLoop.main.add(timer, forMode: RunLoopMode.commonModes)


查看完整回答
反对 回复 2019-10-09
?
湖上湖

TA贡献2003条经验 获得超2个赞

如果要在滚动时触发计时器,则必须运行另一个线程和另一个运行循环。由于计时器是作为事件循环的一部分进行处理的,因此,如果您正在忙于处理滚动视图,则永远都不会使用计时器。尽管在其他线程上运行计时器的性能/电池损失可能不值得处理这种情况。


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 526 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信