好友列表页面
提示
此功能在 5.12.0 版本开始支持。
好友列表页面展示了当前用户设备上的所 有好友。进入该页面,IMKit SDK 就会从数据库中拉取好友信息,并按照好友的名称(如果有备注名,优先使用备注名)索引排序。
IMKit 提供基于 UIKit UITableView 的好友页面类 RCFriendListViewController。
好友列表页面一般由导航栏,搜索栏和好友列表三部分部分组成,其中好友列表第一个 section 支持用户自定义功能,例如“新的朋友”,“当前用户”等功能。
初始化
调用 RCFriendListViewController 类的初始化方法构建好友列表页面。
注意,您需要创建一个 RCFriendListViewModel 对象, 作为RCFriendListViewController 的业务逻辑处理模块。
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| viewModel | RCFriendListViewModel | RCFriendListViewController 的业务逻辑处理模块。 处理页面UI的配置以及好友信息的拉取。 |
示例代码
Objective C
RCFriendListViewModel *viewModel = [[RCFriendListViewModel alloc] init];
RCFriendListViewController *contactVC = [[RCFriendListViewController alloc] initWithViewModel:viewModel];
[self.navigationController pushViewController:contactVC animated:YES];
定制化
IMKit 好友列表界面的样式可进行自定义修改。
自定义标题栏
IMKit 的 RCFriendListViewController 使用了系统的导航栏,可用于显示好友列表的标题,用户通过 继承RCFriendListViewController ,在 viewDidLoad 方法中通过 title 属性设置标题。
Objective C
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"新标题";
}
自定义搜索框
RCFriendListViewController 搜索默认是搜索好友,通过设置 RCFriendListViewModel 的 delegate 属性, 实现相关代理方法,自定义搜索功能。
示例代码
Objective C
RCFriendListViewModel *viewModel = [[RCFriendListViewModel alloc] init];
viewModel.delegate = self;
RCFriendListViewController *contactVC = [[RCFriendListViewController alloc] initWithViewModel:viewModel];
[self.navigationController pushViewController:contactVC animated:YES];
...
/// 配置自定义的搜索功能
- (RCSearchBarViewModel *_Nullable)willConfigureSearchBarViewModelForFriendListViewModel:(RCFriendListViewModel *)viewModel {
//返回自定义的搜索 ViewModel
}
...