UITableView 在滚动视图时停止更新内容



我有一个UITableView,它可以正常工作,更新也可以正常工作。我还有一个更新每个 UITableView 标签和进度视图的计时器,当用户滚动表视图时,它会停止更新/刷新 UITableView 中的内容(标签和进度视图),直到它们完成滚动。

除了内容未更新之外,我还发现当用户滚动时,整个应用程序都会挂起。我有两个计时器,我在两个计时器中都放置了 print 语句,但在用户滚动时都不打印。我无法找到快速或快速 2 解决方案。

这与 Swift 完全无关。

您可能使用默认方法安排了NSTimer,这会导致以滚动时不触发的方式将其添加到运行循环中。您需要将其添加到具有NSRunLoopCommonModes模式的主运行循环中。

例如

let timer = NSTimer(timeInterval: 1.0, target: self, selector: #selector(update), userInfo: nil, repeats: false)
NSRunloop.mainRunLoop().addTimer(timer, forMode: NSRunloopCommonModes)

最新更新