TableView interaction blocking animations in cells
我在 tableview 单元格中有一个进度指示器,当用户与 tableview 交互时,它不会更新其进度。当交互停止时,指示器会跳转到它应该在的位置。
如何避免这种情况,即使用户正在滚动 tableview,动画也会继续?
可以将它们添加到运行循环中吗?如果交互和动画都需要在主线程上发生,可以做些什么?
首先,您应该确保您确实希望更新这些进度指示器 - 滚动时
除了警告,我们该怎么做?好吧,看起来这个问题为您提供了解决方案。一个简短的总结是:
- 滚动将运行循环置于 UITrackingRunLoopMode
- 当 runloop 处于此模式时,您的更新代码不会触发
-
解决方案:让
NSTimer 触发您的进度指示器更新,在NSRunLoopCommonModes 中运行该计时器,这样它在滚动时仍会触发。
就是这样。