如何自定义会话列表的 cell?

1、可以对所有会话类型自定义 cell

2、继承会话列表界面 RCConversationListViewController;

3、重写方法

-(NSMutableArray *)willReloadTableData:(NSMutableArray *)dataSource
注:在该方法内筛选数据源 dataSource 中具体的会话类型及消息的 model,将 model 类型必须修改为 model.conversationModelType = RC_CONVERSATION_MODEL_TYPE_CUSTOMIZATION

4、重写返回 cell 高度的方法

// 高度
-(CGFloat)rcConversationListTableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

// 自定义 cell
-(RCConversationBaseCell *)rcConversationListTableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

5、重写收到消息处理,在方法里生成新的 model,插入会话列表数据源 conversationListDataSource,更新页面,生成的 model 类型 conversationModelType 必须是 RC_CONVERSATION_MODEL_TYPE_CUSTOMIZATION

#pragma mark - 收到消息监听
-(void)didReceiveMessageNotification:(NSNotification *)notification

参考 demo 会话列表的 RCDChatListViewController 中上述相关方法实现和自定义Cell(RCDChatListCell), demo 具体是针对系统会话(ConversationType_SYSTEM)的好友请求消息(RCContactNotificationMessage)做了自定义 Cell

demo 地址:GitHub - sealtalk/sealtalk-ios: iOS App of SealTalk powered by RongCloud. 基于融云开发的 iOS 版即时通讯(IM)应用程序 - 嗨豹。