gpt4 book ai didi

iphone - 在 UIScrollview 中管理大量昂贵的 UIView

转载 作者:行者123 更新时间:2023-12-03 21:10:44 25 4
gpt4 key购买 nike

我正在设计的 iPad 应用程序将显示全屏 UIScrollView,允许用户快速浏览大量(200 个或更多)图像 - 所有图像大小相同,无需分页。这些图像将从网络加载,并且没有预定义的顺序。现在我所做的是

  1. 我加载并解析一个 XML 提要,其中包含对我加载的图像的引用,以及我在另一面显示的元数据。我将所有这些存储在单独的对象中,这些对象管理前 View 和后 View 以及在它们之间翻转。
  2. 创建的对象的 View 放置在网格中的 UIScrollView 上,首先显示占位符图像。
  3. 一旦在对象中设置了图像 URL,它就会使用“NSURLConnection”获取图像本身。当图像完全加载时,它将替换占位符图像。

这对于有限数量的对象来说效果很好(即使 UI 有时没有响应),但它无法扩展。当我加载超过 60-70 个自定义 View Controller 时,应用程序崩溃。当然,其中大多数都在屏幕外 - 每张图像的尺寸均为 280x280,因此在任何给定时间只能看到 12 个图像。

我想我需要找到一种方法来继续在后台加载数据,但只保留那些实际上位于(或接近)UIScrollView 可见范围的 View 。我需要使用 Core Data 来管理它吗?如果您处理过类似的挑战,我很想听听您是如何解决这个问题的 - 我猜这是一个很常见的问题。

最佳答案

您不加载 60-70 个 View Controller 。屏幕上只有一定数量的 View Controller ,当 View 向下滚动时,您将 Controller 置于顶部,更改已存储的图形并将其放在底部。

您正在加载的其他内容可以在后台下载。您不需要核心数据(尽管您可以根据需要使用它)。

看看有关 ScrollView 的苹果视频,它们涵盖了这一点。

关于iphone - 在 UIScrollview 中管理大量昂贵的 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com