如何在特定项目下显示装饰视图并在发生某些事件时更新它

时间:2019-05-22 17:13:06

标签: ios swift uicollectionview uicollectionreusableview

我正在使用UICollectionView,并且想在特定单元格下面显示decoratingView。另外,当我从服务器收到有关该项目的事件时,我想将DecorationView更改为下一个项目。您可以考虑在聊天消息中阅读回执的示例。我想实现某种功能,并在已读消息下方显示decoratingView,以便用户了解对手用户已阅读对话的消息。

您可以参考下图:

enter image description here

最后添加测试标签。我使用了以下代码:

override func layoutAttributesForDecorationView(
    ofKind elementKind: String, at indexPath: IndexPath)
    -> UICollectionViewLayoutAttributes? {

        if elementKind == self.titleKind {
            let atts = UICollectionViewLayoutAttributes(
                forDecorationViewOfKind:self.titleKind, with:indexPath)
            let decorationOffset : CGFloat = self.collectionViewContentSize.height

            atts.frame = CGRect(x: self.collectionViewContentSize.width - 200, y: decorationOffset, width: self.collectionViewContentSize.width, height: 60)
            return atts
        }
        return nil
}

0 个答案:

没有答案