更新时间: 2021-03-08
# 自定义头像
开发者可根据业务场景自行定义会话页面头像的显示形状和大小
# 头像显示形状
属性所属类为 RCIM
,默认值为矩形
@property (nonatomic) RCUserAvatarStyle globalConversationAvatarStyle;
已复制
RCUserAvatarStyle 说明:
类型名 | 说明 |
---|---|
RC_USER_AVATAR_RECTANGLE | 矩形 |
RC_USER_AVATAR_CYCLE | 圆形 |
# 头像显示大小
属性所属类为 RCIM
,高度必须大于或者等于 36
@property (nonatomic) CGSize globalConversationPortraitSize;
已复制
# 自定义 Cell
- 重写数据源方法
在该方法内筛选数据源 dataSource
中具体的会话类型及消息的 model
,将 model
类型必须修改为model.conversationModelType = RC_CONVERSATION_MODEL_TYPE_CUSTOMIZATION
-(NSMutableArray *)willReloadTableData:(NSMutableArray *)dataSource;
已复制
- 重写自定义 Cell
// 自定义 cell -(RCConversationBaseCell *)rcConversationListTableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
已复制
2
- 重写自定义 Cell 高度的方法
// 高度 -(CGFloat)rcConversationListTableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
已复制
2
3
- 重写收到消息处理
在方法里生成新的 model,插入会话列表数据源 conversationListDataSource
,更新页面,生成的 model
类型 conversationModelType
必须是 RC_CONVERSATION_MODEL_TYPE_CUSTOMIZATION
#pragma mark - 收到消息监听 -(void)didReceiveMessageNotification:(NSNotification *)notification;
已复制
2
参考 demo
会话列表的 RCDChatListViewController
中上述相关方法实现和自定义 Cell( RCDChatListCell
), demo 具体是针对系统会话( ConversationType_SYSTEM
)的好友请求消息( RCContactNotificationMessage
)做了自定义 Cell
# 自定义空视图
会话列表 RCConversationListViewController
中提供了设置无会话需要显示的 View,只需要自己生成一个 View,设置好坐标和需要显示的内容即可。
/*! 列表为空时显示的 View */ @property(nonatomic, strong) UIView *emptyConversationView;
已复制
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; }
已复制
2
3
4
5
6
7
8
# 自定义未读数
开发者可通过 获取未读数 (opens new window) 接口获取到所有未读数,然后在需要显示的地方自行显示即可。
# 自定义网络连接提示
开发者可使用下面属性设置是否显示网络连接提示。
属性所属类 RCConversationListViewController
,默认为 YES
。
@property (nonatomic, assign) BOOL isShowNetworkIndicatorView;
已复制
如果开发者需要修改提示文字,可修改语言包中的 en.lproj
和 zh-Hans.lproj
。