我有一个 scrollView ,其中包含12个 UIViews 设置为图块。每个磁贴都包含一个textView。
scrollView启用了分页功能。因此,每页有12个图块,您可以水平滚动。
每当我从API调用中收到信息时,我都会更新textView。
这是正确更新textView,但我遇到了很大的问题。每当更新发生时,scrollView实际上滚动到刚刚更新的视图。所以每当我加载一个新的tile列时,scrollview会在它开始加载时停止,即使它有动量!
知道可能导致这种情况的原因吗?
如果我懒得加载没有任何信息的单元格,一切正常,所以我认为它与我更新textView有关。
我已经尝试过了:
这些都没有。
答案 0 :(得分:0)
我认为解决方案在你的帖子中:
“每当我需要更新UI更改时,使用NSOperationQueue
并调用主线程。”
每当scrollView调用willScroll时,停止当前正在下载的图像&当滚动视图停止滚动&它的委托方法被称为启动新队列以下载图像。
答案 1 :(得分:0)
我的建议是使用仪器进行调试。在仪器中有一个名为" Time profiler"的跟踪模板,您实际上可以看到您的应用程序花费在每个任务上的时间。 但是如果你正在更新textViews,当然主线程将被阻止,因此滚动视图停止滚动直到所有textViews都被更新。所以我的建议是调整性能。 也许你在每个textView中加载了太多东西?