RCConversationListViewController Class Reference
Inherits from | RCBaseViewController : UIViewController |
---|---|
Conforms to | UITableViewDataSource UITableViewDelegate |
Declared in | RCConversationListViewController.h |
– initWithDisplayConversationTypes:collectionConversationType:
初始化会话列表
- (instancetype)initWithDisplayConversationTypes:(NSArray *)displayConversationTypeArray collectionConversationType:(NSArray *)collectionConversationTypeArray
Parameters
displayConversationTypeArray |
列表中需要显示的会话类型数组(需要将RCConversationType转为NSNumber构建Array) @param collectionConversationTypeArray 列表中需要聚合为一条显示的会话类型数组(需要将RCConversationType转为NSNumber构建Array) |
---|
Return Value
会话列表对象
@discussion 聚合为一条显示指的是,将指定会话类型的所有会话在会话列表中聚合显示成一条,点击进入会显示该会话类型的所有会话列表。
Discussion
初始化会话列表
Declared In
RCConversationListViewController.h
displayConversationTypeArray
列表中需要显示的会话类型数组
@property (nonatomic, strong) NSArray *displayConversationTypeArray
Discussion
列表中需要显示的会话类型数组
数组中的元素为RCConversationType转换的NSNumber
Declared In
RCConversationListViewController.h
collectionConversationTypeArray
列表中需要聚合为一条显示的会话类型数组
@property (nonatomic, strong) NSArray *collectionConversationTypeArray
Discussion
列表中需要聚合为一条显示的会话类型数组
数组中的元素为RCConversationType转换的NSNumber
Declared In
RCConversationListViewController.h
– setDisplayConversationTypes:
设置在列表中需要显示的会话类型
- (void)setDisplayConversationTypes:(NSArray *)conversationTypeArray
Parameters
conversationTypeArray |
列表中需要显示的会话类型数组(需要将RCConversationType转为NSNumber构建Array) |
---|
Discussion
设置在列表中需要显示的会话类型
Declared In
RCConversationListViewController.h
– setCollectionConversationType:
设置在列表中需要聚合为一条显示的会话类型
- (void)setCollectionConversationType:(NSArray *)conversationTypeArray
Parameters
conversationTypeArray |
列表中需要聚合为一条显示的会话类型数组(需要将RCConversationType转为NSNumber构建Array) |
---|
Discussion
设置在列表中需要聚合为一条显示的会话类型
Declared In
RCConversationListViewController.h
isEnteredToCollectionViewController
当前会话列表是否为从聚合Cell点击进入的子会话列表
@property (nonatomic, assign) BOOL isEnteredToCollectionViewController
Discussion
当前会话列表是否为从聚合Cell点击进入的子会话列表
您在点击会话列表中的聚合Cell跳转到到子会话列表时,需要将此属性设置为YES。
Declared In
RCConversationListViewController.h
conversationListDataSource
列表中会话数据模型的数据源
@property (nonatomic, strong) NSMutableArray *conversationListDataSource
Discussion
列表中会话数据模型的数据源
数据源中存放的元素为会话Cell的数据模型,即RCConversationModel对象。
Warning: 非线程安全,请在主线程操作此属性
Declared In
RCConversationListViewController.h
conversationListTableView
列表的TableView
@property (nonatomic, strong) UITableView *conversationListTableView
Discussion
列表的TableView
Declared In
RCConversationListViewController.h
isShowNetworkIndicatorView
当网络断开时,是否在Tabel View Header中显示网络连接不可用的提示。
@property (nonatomic, assign) BOOL isShowNetworkIndicatorView
Discussion
当网络断开时,是否在Tabel View Header中显示网络连接不可用的提示。
默认值为YES。
Declared In
RCConversationListViewController.h
showConnectingStatusOnNavigatorBar
当连接状态变化SDK自动重连时,是否在NavigationBar中显示连接中的提示。
@property (nonatomic, assign) BOOL showConnectingStatusOnNavigatorBar
Discussion
当连接状态变化SDK自动重连时,是否在NavigationBar中显示连接中的提示。
默认是是NO。
Declared In
RCConversationListViewController.h
emptyConversationView
列表为空时显示的View
@property (nonatomic, strong) UIView *emptyConversationView
Discussion
列表为空时显示的View
Declared In
RCConversationListViewController.h
cellBackgroundColor
Cell的背景颜色
@property (nonatomic, strong) UIColor *cellBackgroundColor
Discussion
Cell的背景颜色
Declared In
RCConversationListViewController.h
topCellBackgroundColor
置顶会话的Cell背景颜色
@property (nonatomic, strong) UIColor *topCellBackgroundColor
Discussion
置顶会话的Cell背景颜色
Declared In
RCConversationListViewController.h
networkIndicatorView
提示网络连接不可用的 View
@property (nonatomic, strong) RCNetworkIndicatorView *networkIndicatorView
Discussion
提示网络连接不可用的 View
Declared In
RCConversationListViewController.h
– setConversationAvatarStyle:
设置在会话列表中显示的头像形状,矩形或者圆形(全局有效)
- (void)setConversationAvatarStyle:(RCUserAvatarStyle)avatarStyle
Parameters
avatarStyle |
显示的头像形状 |
---|
Discussion
设置在会话列表中显示的头像形状,矩形或者圆形(全局有效)
默认值为矩形,即RC_USER_AVATAR_RECTANGLE。 请在viewDidLoad之前设置,此设置在SDK中全局有效。
Declared In
RCConversationListViewController.h
– setConversationPortraitSize:
设置会话列表界面中显示的头像大小(全局有效),高度必须大于或者等于36
- (void)setConversationPortraitSize:(CGSize)size
Parameters
size |
显示的头像大小 |
---|
Discussion
设置会话列表界面中显示的头像大小(全局有效),高度必须大于或者等于36
默认值为46*46。 请在viewDidLoad之前设置,此设置在SDK中全局有效。
Declared In
RCConversationListViewController.h
– onSelectedTableRow:conversationModel:atIndexPath:
点击会话列表中Cell的回调
- (void)onSelectedTableRow:(RCConversationModelType)conversationModelType conversationModel:(RCConversationModel *)model atIndexPath:(NSIndexPath *)indexPath
Parameters
conversationModelType |
当前点击的会话的Model类型 |
---|---|
model |
当前点击的会话的Model |
indexPath |
当前会话在列表数据源中的索引值 |
Discussion
点击会话列表中Cell的回调
您需要重写此点击事件,跳转到指定会话的会话页面。 如果点击聚合Cell进入具体的子会话列表,在跳转时,需要将isEnteredToCollectionViewController设置为YES。
Declared In
RCConversationListViewController.h
– didTapCellPortrait:
点击Cell头像的回调
- (void)didTapCellPortrait:(RCConversationModel *)model
Parameters
model |
会话Cell的数据模型 |
---|
Discussion
点击Cell头像的回调
Declared In
RCConversationListViewController.h
– didLongPressCellPortrait:
长按Cell头像的回调
- (void)didLongPressCellPortrait:(RCConversationModel *)model
Parameters
model |
会话Cell的数据模型 |
---|
Discussion
长按Cell头像的回调
Declared In
RCConversationListViewController.h
– didDeleteConversationCell:
删除会话的回调
- (void)didDeleteConversationCell:(RCConversationModel *)model
Parameters
model |
会话Cell的数据模型 |
---|
Discussion
删除会话的回调
Declared In
RCConversationListViewController.h
– willReloadTableData:
即将加载增量数据源的回调
- (NSMutableArray<RCConversationModel*> *)willReloadTableData:(NSMutableArray<RCConversationModel*> *)dataSource
Parameters
dataSource |
即将加载的增量数据源(元素为RCConversationModel对象) |
---|
Return Value
修改后的数据源(元素为RCConversationModel对象)
Discussion
即将加载增量数据源的回调
您可以在回调中修改、添加、删除数据源的元素来定制显示的内容,会话列表会根据您返回的修改后的数据源进行显示。 数据源中存放的元素为会话Cell的数据模型,即RCConversationModel对象。 2.9.21 及其以前版本,dataSource 为全量数据,conversationListDataSource = dataSource 2.9.22 及其以后版本,dataSource 为增量数据,conversationListDataSource += dataSource,如果需要更改全量数据的内容,可以更改 conversationListDataSource
Declared In
RCConversationListViewController.h
– willDisplayConversationTableCell:atIndexPath:
即将显示Cell的回调
- (void)willDisplayConversationTableCell:(RCConversationBaseCell *)cell atIndexPath:(NSIndexPath *)indexPath
Parameters
cell |
即将显示的Cell |
---|---|
indexPath |
该Cell对应的会话Cell数据模型在数据源中的索引值 |
Discussion
即将显示Cell的回调
您可以在此回调中修改Cell的一些显示属性。
Declared In
RCConversationListViewController.h
– updateCellAtIndexPath:
Cell状态更新时的回调
- (void)updateCellAtIndexPath:(NSIndexPath *)indexPath
Parameters
indexPath |
该Cell对应的会话Cell数据模型在数据源中的索引值 |
---|
Discussion
Cell状态更新时的回调
当Cell的阅读状态等信息发生改变时的回调,您可以在此回调中更新Cell的显示。
Declared In
RCConversationListViewController.h
– rcConversationListTableView:cellForRowAtIndexPath:
自定义会话Cell显示时的回调
- (RCConversationBaseCell *)rcConversationListTableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Parameters
tableView |
当前TabelView |
---|---|
indexPath |
该Cell对应的会话Cell数据模型在数据源中的索引值 |
Return Value
自定义会话需要显示的Cell
Discussion
自定义会话Cell显示时的回调
Declared In
RCConversationListViewController.h
– rcConversationListTableView:heightForRowAtIndexPath:
自定义会话Cell显示时的回调
- (CGFloat)rcConversationListTableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Parameters
tableView |
当前TabelView |
---|---|
indexPath |
该Cell对应的会话Cell数据模型在数据源中的索引值 |
Return Value
自定义会话需要显示的Cell的高度
Discussion
自定义会话Cell显示时的回调
Declared In
RCConversationListViewController.h
– rcConversationListTableView:commitEditingStyle:forRowAtIndexPath:
左滑删除自定义会话时的回调
- (void)rcConversationListTableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
Parameters
tableView |
当前TabelView |
---|---|
editingStyle |
当前的Cell操作,默认为UITableViewCellEditingStyleDelete |
indexPath |
该Cell对应的会话Cell数据模型在数据源中的索引值 |
Discussion
左滑删除自定义会话时的回调
自定义会话Cell在删除时会回调此方法,您可以在此回调中,定制删除的提示UI、是否删除。 如果确定删除该会话,您需要在调用RCIMClient中的接口删除会话或其中的消息, 并从conversationListDataSource和conversationListTableView中删除该会话。
Declared In
RCConversationListViewController.h
– refreshConversationTableViewIfNeeded
从数据库中重新读取会话列表数据,并刷新会话列表
- (void)refreshConversationTableViewIfNeeded
Discussion
从数据库中重新读取会话列表数据,并刷新会话列表
Warning: 从数据库中重新读取并刷新,会比较耗时,请谨慎使用。
Declared In
RCConversationListViewController.h
– refreshConversationTableViewWithConversationModel:
向列表中插入或更新一条会话,并刷新会话列表界面
- (void)refreshConversationTableViewWithConversationModel:(RCConversationModel *)conversationModel
Parameters
conversationModel |
会话Cell的数据模型 |
---|
Discussion
向列表中插入或更新一条会话,并刷新会话列表界面
如果该会话Cell数据模型在数据源中已经存在,则会更新数据源中的数据并更新UI; 如果数据源没有该会话Cell的数据模型,则插入数据源再更新UI。
Declared In
RCConversationListViewController.h
)
当用户退出登陆时,是否还能继续显示会话列表
@property (nonatomic, assign) BOOL showConversationListWhileLogOut __deprecated_msg ( "" )
Discussion
当用户退出登陆时,是否还能继续显示会话列表
默认值为YES。
Warning: 该字段已被废弃,用户会使用 APP 收发个人的敏感消息,如果断开链接之后不关闭数据库,可能出现当前用户看到上个用户的敏感消息,基于安全方面考虑:当断开 SDK 连接的时候,SDK 会把消息数据库关闭
Declared In
RCConversationListViewController.h
– didReceiveMessageNotification:
在会话列表中,收到新消息的回调
- (void)didReceiveMessageNotification:(NSNotification *)notification
Parameters
notification |
收到新消息的notification |
---|
Discussion
在会话列表中,收到新消息的回调
SDK在此方法中有针对消息接收有默认的处理(如刷新等),如果您重写此方法,请注意调用super。
notification的object为RCMessage消息对象,userInfo为NSDictionary对象,其中key值为@“left",value为还剩余未接收的消息数的NSNumber对象。
Declared In
RCConversationListViewController.h
– notifyUpdateUnreadMessageCount
即将更新未读消息数的回调,该方法在非主线程回调,如果想在本方法中操作 UI,请手动切换到主线程。
- (void)notifyUpdateUnreadMessageCount
Discussion
即将更新未读消息数的回调,该方法在非主线程回调,如果想在本方法中操作 UI,请手动切换到主线程。
当收到消息或删除会话时,会调用此回调,您可以在此回调中执行未读消息数相关的操作。
Declared In
RCConversationListViewController.h