繁体   English   中英

UICollectionView中的多个单元格

[英]multiple cells in UICollectionView

我有一个UICollectionView并有两种单元格类型。 ShareCell和ShareCellMedia。 我有它,以便仅当属性.hasImage为true时才返回ShareCellMedia。 但是,在索引路径的cellforitem中实现逻辑时,在这种情况下,它会以ShareCell或ShareCellMedia的形式返回所有单元格,因为我使用的一个单元格的数据应该是媒体单元格,而其他单元格是常规的。

下面是单元格中索引路径处的代码

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

    let friend = fetchedResultsController.object(at: indexPath) as! Friend
    if (friend.lastMessage?.hasImage)! == false {
        let mediaCell = collectionView.dequeueReusableCell(withReuseIdentifier: mediaCellId, for: indexPath) as!
        ShareCellMedia
        mediaCell.cell = friend.lastMessage
        return mediaCell
    }
    else if (friend.lastMessage?.hasImage)! == true {
        let regularCell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as!
        ShareCell
        regularCell.cell = friend.lastMessage
        return regularCell
    }

return UICollectionViewCell()
}

有什么建议么?

您是否在获取正确的朋友对象? 当您使用indexPath ,而不是indexPath.row

我在索引路径处的cellforitem并不是问题的原因。

感谢@DonMags的部分评论,我能够推断出我用于消息的函数没有正确实例化变量.hasImage。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM