gpt4 book ai didi

ios - JSQMessageViewController - 如何将集合单元格设置为传入或传出单元格?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:15 24 4
gpt4 key购买 nike

enter image description here

在此方法中使用适用于 iOS 的 JSQMessage podfile;

collectionView:(JSQMessagesCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{..

如何设置它以使用 JSQMessagesCollectionViewCellIncomingJSQMessagesCollectionViewCellOutgoing?我发现很难找到其他应用如何执行此操作的示例

我的代码;

- (UICollectionViewCell *)collectionView:(JSQMessagesCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{


JSQMessagesCollectionViewCell *cell = (JSQMessagesCollectionViewCell*)[super collectionView:collectionView cellForItemAtIndexPath:indexPath];



[cell.textView setDataDetectorTypes:UIDataDetectorTypeNone];
cell.textView.text = nil;

VICChatMessage <JSQMessageData> *messageData = (VICChatMessage*)[collectionView.dataSource collectionView:collectionView messageDataForItemAtIndexPath:indexPath];
cell.textView.attributedText = messageData.attributedText;

return cell;
}

最佳答案

我能够解决问题。这与发件人详细信息有关。

默认情况下它是 JSQDefaultSender 但我的代码只在它知道发件人时才设置它;所以我在发件人未知时使用了回退。

思路是获取

BOOL isOutgoingMessage = [messageSender isEqualToString:self.sender];

在 Pod 文件中:JSQMessagesViewController.m

因此它将它们定位在左侧或右侧。

最后,我不得不在我的代码中执行此操作,以获取准备显示的消息

 if (message.sender.remoteID)
{
senderID = @"JSQDefaultSender";
}
else
{
senderID = @"sender";
}

这有效并解决了我的问题。

非常感谢大家

关于ios - JSQMessageViewController - 如何将集合单元格设置为传入或传出单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31432660/

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