gpt4 book ai didi

Swift - JSQMessagesViewController 显示传入的头像电子邮件或用户名

转载 作者:行者123 更新时间:2023-11-28 11:04:38 27 4
gpt4 key购买 nike

我正在开发一个聊天应用程序,我有这个 enter image description here

现在的问题是如何在演示中像这样在消息气泡顶部显示用户名? https://raw.githubusercontent.com/jessesquires/JSQMessagesViewController/develop/Screenshots/screenshot2.png

我正在寻找 override func collectionView(collectionView: JSQMessagesCollectionView!, senderDisplayNameDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageAvatarImageDataSource! 但我认为这是不可能的。您认为这里的解决方案是什么?谢谢!

最佳答案

为了查看传入消息顶部的用户名,JSQ 具有以下方法。

//MARK: To View  usernames above bubbles

override func collectionView(collectionView: JSQMessagesCollectionView!, attributedTextForMessageBubbleTopLabelAtIndexPath indexPath: NSIndexPath!) -> NSAttributedString! {
let message = messages[indexPath.item];

// Sent by me, skip
if message.sender() == sender {
return nil;
}

// Same as previous sender, skip
if indexPath.item > 0 {
let previousMessage = messages[indexPath.item - 1];
if previousMessage.sender() == message.sender() {
return nil;
}
}

return NSAttributedString(string:message.sender())
}

override func collectionView(collectionView: JSQMessagesCollectionView!, layout collectionViewLayout: JSQMessagesCollectionViewFlowLayout!, heightForMessageBubbleTopLabelAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
let message = messages[indexPath.item]

// Sent by me, skip
if message.sender() == sender {
return CGFloat(0.0);
}

// Same as previous sender, skip
if indexPath.item > 0 {
let previousMessage = messages[indexPath.item - 1];
if previousMessage.sender() == message.sender() {
return CGFloat(0.0);
}
}

return kJSQMessagesCollectionViewCellLabelHeightDefault
}

上面的代码对我有用,我希望它对你也有用。欲了解更多信息,你可以看到演示

https://github.com/jessesquires/JSQMessagesViewController

关于Swift - JSQMessagesViewController 显示传入的头像电子邮件或用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38691368/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com