创建缩略图库的最佳方式

时间:2012-01-02 23:53:59

标签: objective-c ios xcode memory-management image-gallery

我正在创建一个显示图像对象缩略图视图的应用程序。 (该应用仅限iPad)

图像对象显示以下信息:

  1. 图片名称

  2. 照片价格

  3. 收藏的图标

  4. 用于选择图像的按钮(图像实际上是按钮,按钮的背景是图像)。图像从URL加载。

  5. 我已经开始画这些了:

    1. 创建了一个自定义视图,其中包含图像,按钮,收藏夹图标和价格标签。

    2. 加载容器视图时,我会在循环中绘制所有这些视图。

    3. 所有视图都被绘制到UIScrollView中。

    4. 当视图最初在 Portrait 视图中加载时,这一切都很好用。

      当设备从纵向切换到横向时,我正在尝试确定布局所有视图的最佳/最佳方式。

      我认为处理此问题的方法如下:

      1. 切换设备后,请完全擦除视图并重新加载所有内容。
      2. 在加载视图时,将它们添加到保持数组中。旋转设备时,循环访问阵列并更改每个视图的帧。
      3. 在每个视图中,有两个属性。拥有纵向和横向框架的属性。旋转设备时,调用reloadInputViews / ViewNeedsLayout / setNeedsLayout。
      4. 我的担忧:

        1. 这会非常慢。

        2. 将所有这些对象添加到数组中将很难用于内存。

        3. 如果在调用ViewNeedsLayout / setNeedsLayout / reloadInputViews时未将对象存储在数组中,是否会松动对象。

        4. - 一如既往,非常感谢您的帮助和时间。

1 个答案:

答案 0 :(得分:1)

我过去曾使用过KKGridView这一点,并发现它具有极好的灵活性和响应性。它使用与UITableView相同的机制,效率很高。我刚刚为自己的目的编辑了单元格绘制方法。

您的担忧是完全有效的 - 如果视图在屏幕外,这将是缓慢的并且在内存不足的情况下容易出错。幸运的是,KKGridView会为您解决这些问题。