Swift 表视图的加载和平滑度

Swift 表视图的加载和平滑度,swift,uitableview,scroll,Swift,Uitableview,Scroll,关于UITableView,我有两个问题: 加载将填充表格的数据时,如何在表格视图中实现活动指示器? 在滚动已加载到tableview中的数据时,标签和图像似乎“跳跃”,因为它试图用信息填充单元格的标签和图像视图如何解决这个问题,以便在滚动标签和图像时,它们在尝试放入单元格时“跳跃”? 注意:要理解我想表达的意思,请考虑像Instagram这样的应用程序,它们如何在人们上传时显示活动指示器,以及当你向下滚动帖子时,所有单元格都不会跳动。我建议你使用SDWebImage之类的工具来缓存图像。标签并

关于UITableView,我有两个问题:

  • 加载将填充表格的数据时,如何在表格视图中实现活动指示器?

  • 在滚动已加载到tableview中的数据时,标签和图像似乎“跳跃”,因为它试图用信息填充单元格的标签和图像视图如何解决这个问题,以便在滚动标签和图像时,它们在尝试放入单元格时“跳跃”?


  • 注意:要理解我想表达的意思,请考虑像Instagram这样的应用程序,它们如何在人们上传时显示活动指示器,以及当你向下滚动帖子时,所有单元格都不会跳动。

    我建议你使用SDWebImage之类的工具来缓存图像。标签并不真的需要很多时间,但图像需要。如果不缓存,则每次滚动时,它都会一次又一次地加载图像。对于活动指示器,我建议您使用完成处理程序


    我的意思是,它会让您知道上载已完成,因此您可以在单击上载后立即启动活动指示器,并在到达完成处理程序时停止它。

    我建议您使用SDWebImage之类的工具来缓存图像。标签并不真的需要很多时间,但图像需要。如果不缓存,则每次滚动时,它都会一次又一次地加载图像。对于活动指示器,我建议您使用完成处理程序

    我的意思是,它会让您知道上载已完成,因此您可以在单击上载后立即启动活动指示器,并在到达完成处理程序时停止它

    加载将填充表的数据时,如何在tableview中实现活动指示器

    您可以采取几种方法。您可以将带有活动指示器的视图放在表的顶部——在更高的层中,这样即使表滚动,它也会保持在原位。也可以使用占位符图像填充表格,直到实际图像可用,此时可以重新加载当前显示的任何单元格。或者,您可以完全隐藏该表,只显示活动指示器,直到该表准备就绪。想想你想要的用户体验是什么

    当我滚动标签和图像时,如何解决这一问题,使它们[不]“跳跃”,因为它们试图适应单元格

    首先,找出是什么让事情变得缓慢。分析在这方面可以有所帮助,但简单的实验也可以。您正在从网络加载图像吗?如果是,如果图像已经存储在设备上,表的性能是否会更好?在内存中缓存图像有帮助吗?更改图像的大小如何?添加占位符图像而不是等待图像可用是否有帮助?这是一个很好的选择,一个使用不超过需要的图像并将其缓存在内存中的表将比一个通过网络同步加载大图像的表更平滑地滚动。我们不知道您的代码在做什么,所以您必须自己去弄清楚,但一般来说,指导原则是为每个单元格做更少的工作

    加载将填充表的数据时,如何在tableview中实现活动指示器

    您可以采取几种方法。您可以将带有活动指示器的视图放在表的顶部——在更高的层中,这样即使表滚动,它也会保持在原位。也可以使用占位符图像填充表格,直到实际图像可用,此时可以重新加载当前显示的任何单元格。或者,您可以完全隐藏该表,只显示活动指示器,直到该表准备就绪。想想你想要的用户体验是什么

    当我滚动标签和图像时,如何解决这一问题,使它们[不]“跳跃”,因为它们试图适应单元格


    首先,找出是什么让事情变得缓慢。分析在这方面可以有所帮助,但简单的实验也可以。您正在从网络加载图像吗?如果是,如果图像已经存储在设备上,表的性能是否会更好?在内存中缓存图像有帮助吗?更改图像的大小如何?添加占位符图像而不是等待图像可用是否有帮助?这是一个很好的选择,一个使用不超过需要的图像并将其缓存在内存中的表将比一个通过网络同步加载大图像的表更平滑地滚动。我们不知道您的代码在做什么,所以您必须自己去弄清楚,但一般来说,指导原则是为每个单元格少做些工作。

    对于第2个:您需要显示一些图片对于第2个:您需要显示一些图片