UIScrollView暂停NSTimer,直到滚动完成

UIScrollView滚动(或其派生类)时,似乎所有NSTimers正在运行的程序都被暂停,直到滚动完成为止。

有办法解决这个问题吗?线程?优先设置?有什么事吗


小唯快跑啊
浏览 542回答 3
3回答

慕田峪4524236

一个易于实现的解决方案是:NSTimer *timer = [NSTimer timerWithTimeInterval:...                                          target:...                                       selector:....                                       userInfo:...                                        repeats:...];[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

GCT1015

对于使用Swift 3的任何人timer = Timer.scheduledTimer(timeInterval: 0.1,                            target: self,                            selector: aSelector,                            userInfo: nil,                            repeats: true)RunLoop.main.add(timer, forMode: RunLoopMode.commonModes)

湖上湖

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

相关分类

iOS