聊天页面介绍
大约 2 分钟
UIKit-iOS 集成文档
聊天页面介绍
环信单群聊 UIKit 提供 MessageListController 方便用户快速集成聊天页面和自定义聊天页面。
页面功能
聊天页面提供如下功能:
| 功能 | 描述 |
|---|---|
| 消息收发 | 收发文本、表情、图片、语音、视频、文件、名片等消息。 |
| 消息操作 | 复制、引用、撤回、删除、编辑、重发、举报。 |
| 消息管理 | 本地消息清除、消息搜索、消息多选。 |
| 互动增强 | 表情回应、消息置顶、消息翻译、转发。 |
页面组件
聊天页面通过 MessageListController 实现,由标题栏、消息列表和消息输入区组成。
聊天页面 MessageListController.swift

标题栏
聊天页面与会话列表页面、通讯录页面、群详情页面和联系人详情页面的标题栏均使用 ChatNavigationBar。详见 设置页面标题栏。
消息列表
消息列表 MessageListView 用于展示发送和接收的消息,以及对消息进行操作:
- 发送和接收消息:包括文本、表情、图片、语音、视频、文件和名片等消息。
- 消息操作:对消息进行复制、引用、撤回、删除、编辑、重新发送、举报、翻译、转发、多选、置顶操作。
消息条目 MessageCell 实现单条消息展示,包括展示消息内容的消息气泡、对端用户头像或群头像、消息时间等。
消息输入区
消息输入区 MessageInputBar 实现各类消息的输入和发送以及表情等功能,包括两部分:
- 底部输入栏:输入和发送文本和语音消息、添加表情以及扩展功能等。
- 消息扩展菜单
MessageInputExtensionView:发送附件类型消息,例如,图片、视频、文件以及自定义类型消息(如名片消息)等。
创建聊天页面
使用 MessageListController 的初始化方法即可创建标准的聊天页面。
// conversationId: 单聊为对端用户 ID,群聊为群组 ID。
// chatType: 会话类型:.chat 为单聊,.group 为群组聊天
// 此处 info 为会话列表条目中一个对象,包含会话 ID、会话类型、最后一条消息等。
let vc = ComponentsRegister.shared.MessageViewController.init(conversationId: info.id, chatType: info.type == .chat ? .chat:.group)
vc.modalPresentationStyle = .fullScreen
ControllerStack.toDestination(vc: vc)
