会话组件
IMKit的对话组件提供了聊天列表和聊天功能。
说明
会话组件已经集成了消息组件。如果你不需要会话列表,可以直接使用消息组件。
- 聊天列表:允许您查看聊天列表的数据,并支持根据聊天消息自动更新聊天列表。
- 聊天:创建一对一聊天和群聊。

将会话组件集成到您的项目中
前提条件
将 IMKit SDK 集成到您的项目中(需要完成初始化和登录)。更多信息,请参考快速开始。
显示会话组件
ViewController.swift
// !mark(1:2)
import UIKit
import ZIMKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
// 在成功登录后,您可以在任何需要的地方调用此方法。
func showConversationListVC(_ sender: Any) {
// !mark(1:4)
let conversationVC = ZIMKitConversationListVC()
let nav = UINavigationController(rootViewController: conversationVC)
nav.modalPresentationStyle = .fullScreen
self.present(nav, animated: true)
}
}
定制功能
如果默认的与会话相关的功能和行为不能完全满足您的需求,您可以通过我们在本节中提到的配置进行灵活的定制。
自定义点击事件
要自定义点击事件逻辑,您可以通过实现ZIMKitConversationListVCDelegate
来监听Conversation
的回调点击。
ViewController.swift
import UIKit
import ZIMKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 在加载视图后进行其他额外的设置。
let conversationVC = ZIMKitConversationListVC()
conversationVC.delegate = self
}
}
extension ViewController: ZIMKitConversationListVCDelegate {
/// 当点击对话时的回调函数。
/// - 参数:
/// - conversationListVC:ZIMKitConversationListVC
/// - conversation:对话模型
/// - defaultAction:默认情况下,点击将跳转到消息页面。
// !mark(1:3)
func conversationList(_ conversationListVC: ZIMKitConversationListVC, didSelectWith conversation: ZIMKitConversation, defaultAction: () -> ()) {
// 您可以在这里添加事件处理逻辑。
defaultAction()
}
}
API
ZIMKitConversationListVCDelegate
定义
@objc public protocol ZIMKitConversationListVCDelegate: AnyObject {
@objc optional
func conversationList(_ conversationListVC: ZIMKitConversationListVC,
didSelectWith conversation: ZIMKitConversation,
defaultAction: ()-> ())
}