【问题标题】:Making iOS Gallery - UICollectionView reusability制作 iOS Gallery - UICollectionView 可重用性
【发布时间】:2017-07-01 19:34:22
【问题描述】:

我是 iOS 开发新手,我正在使用 Swift 3。

在我的图库应用中,当用户选择一个单元格时,该单元格内的图片会显示在上面的 UIImageView 中,并且该单元格本身会变成红色边框以表明它现在已被选中。但是,当我向上或向下滚动时,一旦选定的单元格被破坏,UICollectionView 就会从可见单元格中选择另一个单元格。

我想知道如何在单元格重用时恢复它的选定状态并防止 UICollectionView 这样做。总之,我想知道如何防止单元格重用性对选择状态的影响。

对不起,我的英语不好,不是母语人士。

【问题讨论】:

  • 您所要做的就是在数组中维护所选单元格的 indexPaths,或者使用说明该项目已被选中的键更新模型,并在您的 cellForItem 中简单地检查数组是否包含indexPath 或您的模型具有适当的密钥集。如果在 else 条件下也不显示红色边框。

标签: ios swift swift3 uicollectionview


【解决方案1】:

您可以拥有一组图像状态,如果它是真的那么它被选中,否则它不是并且在

  collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 

检查状态并为单元格进行所需设置的功能,或者您可以通过像这样动态更改单元格标识符来使集合视图不重用单元格

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "HomeCircularCollectionViewCell\(indexPath.row)", for: indexPath) as? HomeCircularCollectionViewCell
//setup cell
return cell
 }

希望我的回答能帮到你

【讨论】:

    猜你喜欢
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    相关资源
    最近更新 更多