【问题标题】:IOS swift how to load pictures in a TableView all at once (i.e. before scrolling)IOS swift如何一次在TableView中加载图片(即在滚动之前)
【发布时间】:2019-02-01 11:59:25
【问题描述】:

我有一个包含几张图片和全屏“等待视图”的 TableView。我知道 TableView 的标准行为是加载可见图片,其他图片只有在用户滚动查看时才会加载。

我想要的是仅当 TableView 中的所有图片都已加载时才隐藏我的“等待视图”,因此我需要一次加载所有图片。我该怎么做?

【问题讨论】:

  • 不可见的单元格甚至不存在,那么“加载”在这里意味着什么?
  • 例如,是否可以告诉 TableView 创建特定数量的单元格而不是只创建可见单元格?
  • 你为什么要这样做?

标签: ios swift uitableview


【解决方案1】:

表格视图是一组数据的“窗口”,可能大于您一次可以看到的单元格数量。数据就是模型,表格视图的数据源从模型中获取数据,并根据需要安装到单元格中,以显示当前可见的单元格。

表格视图的数据模型通常是一个数组,或者它可能是一个用于分段表格视图的数组数组。 (您当然可以为您的模型使用其他存储方法,但数组很常见。)

如果您想加载所有将显示到表格视图中的图片,您应该显示全屏等待视图,用图片填充模型中的所有项目,并且只有在图片已加载。

请注意,如果您的表格视图模型中有很多项目,那么您的图片可能会超过一次内存所能容纳的数量。在这种情况下,您可能希望将所有图片作为文件保存在文档或缓存目录中,并将 URL 放入数据模型中的图像。与从 Internet 下载图像相比,从磁盘加载图像要快得多,这样可以防止内存不足和崩溃。

【讨论】:

    猜你喜欢
    • 2021-05-28
    • 2017-05-04
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多