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

会话列表界面自定义 cell
发布时间: 2015-07-06 18:28

回答:

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