iOS 6 和 iOS 7 上的 UICollectionView 重新加载

Posted

技术标签:

【中文标题】iOS 6 和 iOS 7 上的 UICollectionView 重新加载【英文标题】:UICollectionView reload on iOS 6 and iOS 7 【发布时间】:2013-10-08 07:05:39 【问题描述】:

我正在使用 UICollectionView 的应用程序。此应用程序在 ios 6 上运行良好,但在 iOS7 上无法运行。我调试了很多,得出的结论是 UICollectionView 的 reload 方法在 iOS 7 上不起作用。

这背后有什么原因吗?

这是我发现问题的应用程序功能的步骤。

    MyCollectionViewCell 框架发生变化(这是 UICollectionViewCell 的子类)

    重新加载集合视图。

    iOS 6 运行良好(此处无效布局在内部被调用,然后“cellAtRowOfindexpath:”即集合视图数据源方法被调用))/

    iOS 7 不支持 reload 方法(这里只调用了无效布局而不是“cellAtRowOfindexpath:”,即集合视图数据源方法)。

提前谢谢...

【问题讨论】:

您使用的是什么布局?它是流布局还是自定义布局?我在 iOS 7 上使用了一些集合视图,到目前为止没有任何问题。也许示例代码或项目可以提供帮助。 【参考方案1】:

数据源中的单元格/部分的数量从未改变,因此您必须通过调用集合视图的以下函数来重新加载屏幕上的可见内容

[_collectionView reloadItemsAtIndexPaths:[_collectionView indexPathsForVisibleItems]];

把上面一行放在后面

[_collectionView reloadData]

希望您的问题能得到解决。

【讨论】:

以上是关于iOS 6 和 iOS 7 上的 UICollectionView 重新加载的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 到 iOS 6 支持 [关闭]

iOS 7 设备上的键盘动画问题

由 xcode 4.6 与 xcode 5.0 创建时,iOS 应用程序在 iOS 7.0 设备上的行为不同

iOS 7 上的分组 UITableView 故障

iOS 6/7 Deltas:仅适用于子视图?

iOS 6/7 Delta 不工作 iOS 7.1