按类型聚合会话
IMKit 支持在会话列表中按照会话类型进行聚合(折叠)。设置聚合显示的会话类型后,该类型的会话在会话列表中仅被展示为一个聚合条目。
默认情况下,IMKit 的会话列表页面会以平铺方式展示所有本地会话。
提示
下图展示了设置了单聊类型会话聚合显示的效果。在会话列表中,所有单聊会话折叠为“单聊消息”(左侧),点击后跳转到聚合会话列表(右侧)。IMKit 支持通过全局配置修改聚合会话页面的标题与头像。

用法
提示
- 会话列表中的聚合会话项目不支持通过会话置顶功能设置为置顶项目。
设置聚合显示的会话类型
在初始化会话列表 RCConversationListViewController 或子类时,可以设置需要聚合的会话类型。支持单聊、群聊、系统会话类型。
您可以调用 RCConversationListViewController 类的初始化方法构建会话列表页面,在 displayConversationTypeArray 中设置会话列表中需要包含的会话的类型,在 collectionConversationTypeArray 中设置需要聚合(折 叠显示)的会话类型。
注意,您需要将 RCConversationType 转为 NSNumber 构建 Array。
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
displayConversationTypeArray | NSArray (NSNumber *) | 列表中需要显示的会话类型数组。需要将 RCConversationType 转为 NSNumber构建 Array。 |
collectionConversationTypeArray | NSArray (NSNumber *) | 列表中需要聚合为一条显示的会话类型数组。您需要将 RCConversationType 转为 NSNumber构建 Array。 |
示例代码
Objective C
NSArray *displayConversationTypeArray = @[@(ConversationType_PRIVATE), @(ConversationType_GROUP), @(ConversationType_SYSTEM)];
NSArray *collectionConversationTypeArray = @[@(ConversationType_SYSTEM)];
RCConversationListViewController *conversationListVC = [[RCDChatListViewController alloc] initWithDisplayConversationTypes:displayConversationTypeArray collectionConversationType:collectionConversationTypeArray];
[self.navigationController pushViewController:conversationListVC animated:YES];