集合视图:可以手动触发 cellForItemAtIndexPath 吗?

Posted

技术标签:

【中文标题】集合视图:可以手动触发 cellForItemAtIndexPath 吗?【英文标题】:Collection Views: Can cellForItemAtIndexPath be triggered, manually? 【发布时间】:2012-12-23 06:16:29 【问题描述】:

在我的 UICollectionViewController.m 中,我在 (void)viewDidLoad 方法中构建了一个图像文件名字符串数组,我想稍后在 中使用它cellForItemAtIndexPath 方法来填充网格。然而,问题是 cellForItemAtIndexPath 似乎在 viewDidLoad 的数组有机会创建之前执行。

我是 Collection Views 的新手,想更好地了解它通常是如何使用/控制的。我想知道在构建数组之后是否可以调用 cellForItemAtIndexPath

【问题讨论】:

与所有其他具有数据源、核心图、表格视图、图像浏览器的控件一样工作......都提供 reloadData 【参考方案1】:

创建数组后调用collectionView的reloadData实例方法。

//构建数组

[collectionView reloadData];

【讨论】:

我现在有一个新问题要解决,即每次向上或向下移动垂直滚动时,它似乎一次又一次地点击 cellForItemAtIndexPath 方法。我已将我的 NSURL、NSData、UIImage 代码放入此方法中,我不确定它是否正确。 您正在重用单元格,因此每次新单元格可见时都会调用 cellForItemAtIndexPath。表格视图加载可见的单元格。在 cellForItemAtIndexPath 中从服务器获取图像只会影响表格视图的性能。

以上是关于集合视图:可以手动触发 cellForItemAtIndexPath 吗?的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView CellForItemAt 在滚动时被多次调用,导致单元格文本重叠

如何附加滚动视图委托方法?

UITableViewCell indexPath错误中的Swift UICollectionView

collectionView cellForItemAt 没有被调用

如何为集合视图单元格内的视图添加手势?

如何防止出队的集合视图单元格相互重叠?