【问题标题】:Creating a grid view on iOS在 iOS 上创建网格视图
【发布时间】:2017-12-21 03:32:44
【问题描述】:

我需要实现一个带有动态变化图像的网格视图。

大多数时候,我使用UITableView 创建网格,但如果我有大量图像,我会遇到内存问题。

在 iOS 6 中,添加了 UICollectionView,但我之前从未使用过。

在制作网格视图时要使用哪些“最佳实践”和视图子类,以免出现内存问题?

【问题讨论】:

  • UICollectionView 似乎很适合这个。

标签: ios


【解决方案1】:

UICollectionView 在 iOS 6.0 及更高版本中可用,因此如果您想支持早期版本,则不能使用它。

有相当多的开源库可以让您创建网格视图:

我目前正在使用AQGridView,我发现它是最强大的。它就像UITableView 一样工作。 Evadne Wu 创建了一个videosample project 来展示如何使用它。

另外,如果您尝试在不使用 Interface Builder 的情况下执行此操作,请记住这会有点困难,因为您必须以编程方式创建视图。

【讨论】:

    【解决方案2】:

    如你所说,我会选择UICollectionView。你实际上可以看到我给的这个answer,在那里你可以看到已经制作的库。

    【讨论】:

    • UICollectionView 是否支持旧设备?
    • @DeepakKhare:UICollectionView 在 iOS 6+ 上可用。考虑到令人惊叹的吸收率(iOS 6+ 上所有设备的 93%),我将不再费心支持低于 iOS6 的任何东西,所以请使用 UICollectionView。
    【解决方案3】:

    我使用了PSTCollectionView,它向后兼容 iOS 5 和 iOS 4.3。 UICollectionView 仅适用于 iOS6+。它实际上具有与 UICollectionView 相同的 API。

    GMGridView 也是创建网格视图的流行选择。

    【讨论】:

    • 我也使用过 PSTCollectionView,它非常可靠。但是,如果您不需要向后兼容 iOS 5 或更早版本,我建议您改用 UICollectionView。互联网上有大量的示例和教程。
    【解决方案4】:

    我会选择 UICollection 视图。由于您从未使用过,这里有一个很好的教程供您学习:http://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12

    【讨论】:

      【解决方案5】:

      迟到了,但我们已经开源了我们的商业数据网格组件并且可以免费使用!

      https://github.com/flexicious/iOSDataGrid

      与上面列出的大多数库相比,它的功能实际上非常通用。

      http://www.ioscomponents.com/Home/IOSDataGrid

      【讨论】:

        最近更新 更多