问题描述
||
我尝试为启用了分页的
UIScrollView
实现延迟加载解决方案,就像Apple的PageControl示例一样。看起来工作正常,唯一的问题是,当用户滚动浏览页面的50%时,加载下一页的内容时会出现这种短暂的故障(显然是因为加载下一个ViewController需要一些时间,并且看起来发生在主线程上)。
有什么方法可以使滚动看起来更平滑,无论用户滚动多快,滚动都可以工作?
解决方法
您需要确保所有花费时间的事情都是异步发生的。所采用的技术会根据您正在加载的内容类型或正在执行的绘图类型而有所不同,从而导致延迟。尝试在后台加载图像,在后台进行自定义绘制,使用操作或gcd将大型任务分解为可以同时发生的较小块等。
,您应该懒于加载周围的页面,以便在用户滚动时已经加载它们。
因此,如果用户滚动到第2页,请加载第1页和第3页(如果尚未加载)