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


            
2015-07-06 18:28 | iOS

回答:

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


您认为此回答对您有帮助?

共有 29 位开发者认为此问题有帮助

我对此仍有疑问!继续追问