我正在尝试将一个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。
答案 0 :(得分:3)
您需要通过实施以下内容返回顶部标签的高度:
- (CGFloat)collectionView:(JSQMessagesCollectionView *)collectionView
layout:(JSQMessagesCollectionViewFlowLayout *)collectionViewLayout heightForCellTopLabelAtIndexPath:(NSIndexPath *)indexPath;
为了显示标签,您需要存储选定的indexPath
,并在上述方法中返回indexPath
的高度。