全部文档

更新时间: 2021-03-08

# 自定义头像

开发者可根据业务场景自行定义会话页面头像的显示形状和大小

# 头像显示形状

属性所属类为 RCIM,默认值为矩形

@property (nonatomic) RCUserAvatarStyle globalConversationAvatarStyle;
已复制
1

RCUserAvatarStyle 说明:

类型名 说明
RC_USER_AVATAR_RECTANGLE 矩形
RC_USER_AVATAR_CYCLE 圆形
# 头像显示大小

属性所属类为 RCIM,高度必须大于或者等于 36

@property (nonatomic) CGSize globalConversationPortraitSize;
已复制
1

# 自定义 Cell

  1. 重写数据源方法

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

-(NSMutableArray *)willReloadTableData:(NSMutableArray *)dataSource;
已复制
1
  1. 重写自定义 Cell
// 自定义 cell
-(RCConversationBaseCell *)rcConversationListTableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
已复制
1
2
  1. 重写自定义 Cell 高度的方法
// 高度
-(CGFloat)rcConversationListTableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

已复制
1
2
3
  1. 重写收到消息处理

在方法里生成新的 model,插入会话列表数据源 conversationListDataSource,更新页面,生成的 model 类型 conversationModelType 必须是 RC_CONVERSATION_MODEL_TYPE_CUSTOMIZATION

#pragma mark - 收到消息监听
-(void)didReceiveMessageNotification:(NSNotification *)notification;
已复制
1
2

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

# 自定义空视图

会话列表 RCConversationListViewController 中提供了设置无会话需要显示的 View,只需要自己生成一个 View,设置好坐标和需要显示的内容即可。

/*!
 列表为空时显示的 View
 */
@property(nonatomic, strong) UIView *emptyConversationView;
已复制
1
2
3
4

代码示例:

- (void)viewDidLoad {
    [super viewDidLoad];
    //视图的 frame 需要开发者根据需求设定
    UIImageView *empty = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    empty.center = self.view.center;
    empty.backgroundColor = [UIColor redColor];
    self.emptyConversationView = empty;
}
已复制
1
2
3
4
5
6
7
8

# 自定义未读数

开发者可通过 获取未读数 (opens new window) 接口获取到所有未读数,然后在需要显示的地方自行显示即可。

# 自定义网络连接提示

开发者可使用下面属性设置是否显示网络连接提示。

属性所属类 RCConversationListViewController,默认为 YES

@property (nonatomic, assign) BOOL isShowNetworkIndicatorView;
已复制
1

如果开发者需要修改提示文字,可修改语言包中的 en.lprojzh-Hans.lproj

文档是否解决您的问题 ?

如果遇到产品相关问题,您可 提交工单 寻求帮助