为JSQMessages添加名称标签和日期标签

时间:2016-04-03 11:35:18

标签: ios swift jsqmessagesviewcontroller

我正在尝试将一个topLabel添加到JSQMessageCollectionViewCell并实现正确的方法,但没有任何显示。这是我的代码:

override func collectionView(collectionView: JSQMessagesCollectionView!, attributedTextForMessageBubbleTopLabelAtIndexPath indexPath: NSIndexPath!) -> NSAttributedString! {

    let msg: JSQMessage = self.JSQmessages[indexPath.item]
    if (msg.senderId != self.senderId) {

        return NSAttributedString(string: "Tester")
    }
    else {
        return NSAttributedString(string: senderDisplayName)
    }

}

此外,我试图通过点击给定的邮件收集单元格来添加日期标签。我该怎么做呢?我在每个JSQMessage中添加一个NSDate。

1 个答案:

答案 0 :(得分:3)

您需要通过实施以下内容返回顶部标签的高度:

- (CGFloat)collectionView:(JSQMessagesCollectionView *)collectionView
                   layout:(JSQMessagesCollectionViewFlowLayout *)collectionViewLayout heightForCellTopLabelAtIndexPath:(NSIndexPath *)indexPath;

为了显示标签,您需要存储选定的indexPath,并在上述方法中返回indexPath的高度。