消息引用/回复
更新时间: 2025/09/11 14:15:56
UIKit 支持消息引用功能,功能允许用户在对话中引用先前的消息进行回复,增强对话的上下文关联性。用户可以通过点击引用部分直接跳转到原始消息,并伴随高亮闪烁效果提升用户体验。
效果展示
您可以在 UIKit 中使用消息引用/回复功能,体验效果如下:
| 引用 | 取消引用 |
|---|---|
![]() |
![]() |
前提条件
已在云信控制台开通 会话消息回复 功能,如何开通具体请参考 开启/关闭功能。
实现消息引用
您可以在 /NEChatUIKit/NEChatUIKit/Classes/Chat/Controller/ChatViewController 中参考引用相关逻辑。
- 单击 回复 item 后,后台会调用
showReplyMessageView方法,将viewModel.isReplying设置为 true。 - 发消息接口(
sendText)会判断viewModel.isReplying是否为 true,为 true 则调用replyMessageWithThread接口发送消息。 NormalChatMessageBaseCell中的replyLabel用于展示回复消息内容。
界面操作:
-
引用一条消息:长按消息,消息上会弹出消息工具栏。单击工具栏中的引用按钮,对该消息进行引用。
-
取消引用:在消息被引用但还未发出时,通过单击引用之后的关闭按钮,可以取消消息引用。
-
查看被引用的消息:点击引用内容后的跳转行为:
- 原始消息在可视范围内:直接高亮闪烁。
- 原始消息在列表中但不可见:自动滚动至该位置并高亮。
- 原始消息已被删除或撤回:显示 该消息已撤回或删除 提示。
常见问题
如何屏蔽引用功能?
class CustomP2PChatViewController: P2PChatViewController {
override func viewDidLoad() {
...
// 长按消息功能弹窗过滤列表(过滤列表中的能力会在整个页面中禁用)
operationCellFilter = [.reply]
}
// 长按消息功能弹窗列表自定义(可针对不同 type 消息自定义长按功能项)
override func setOperationItems(items: inout [OperationItem], model: MessageContentModel?) {
if model?.type == .rtcCallRecord {
items.append(OperationItem.replayItem())
}
}
}
此文档是否对你有帮助?







