跳到主要内容

添加好友

添加好友页面用于查询用户信息。进入该页面,在输入框输入用户**应用号 **,点击搜索,IMKit SDK 就会从服务器拉取用户信息。IMKit 提供基于 UIKit UITableView 的搜索页面类 RCUserSearchViewController

添加好友页面一般由导航栏,搜索栏和好友列表三部分部分组成。

初始化

调用 RCUserSearchViewController 类的初始化方法构建添加好友页面。注意,您需要创建一个 RCUserSearchViewModel 对象作为RCUserSearchViewController 的业务逻辑处理模块。

参数说明

参数类型说明
viewModelRCUserSearchViewModelRCUserSearchViewController 的业务逻辑处理模块。 处理页面 UI 的配置以及用户信息的拉取。

示例代码

Objective C

RCUserSearchViewModel *viewModel = [[RCUserSearchViewModel alloc] init];
RCUserSearchViewController *vc = [[RCUserSearchViewController alloc] initWithViewModel:viewModel];
[self.navigationController pushViewController:vc animated:YES];

定制化

IMKit SDK 添加好友界面的样式可供自定义修改。

自定义标题栏

IMKit 的 RCUserSearchViewController 使用了系统的导航栏,可用于显示页面的标题,用户通过继承RCUserSearchViewController ,在 viewDidLoad 方法中通过 title 属性设置标题。

示例代码

Objective C
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"新标题"
}

自定义搜索框

RCUserSearchViewController 支持自定义搜索框,通过设置 RCUserSearchViewModeldelegate 属性, 实现相关代理方法,自定义搜索功能。

示例代码

Objective C

RCUserSearchViewModel *viewModel = [[RCUserSearchViewModel alloc] init];
viewModel.delegate = self;
RCUserSearchViewController * = [[RCUserSearchViewController alloc] initWithViewModel:viewModel];

[self.navigationController pushViewController:contactVC animated:YES];

...

/// 配置自定义的搜索功能
- (RCSearchUserProfileViewModel *_Nullable)willConfigureSearchBarViewModelForUserSearchViewModel:(RCUserSearchViewModel *)viewModel {
//返回自定义的搜索 ViewModel
}

...

自定义用户信息显示

RCUserSearchViewController 支持自定显示用户信息的跳转逻辑,通过设置 RCUserSearchViewModeldelegate 属性, 实现相关代理方法。

示例代码

Objective C
RCUserSearchViewModel *viewModel = [[RCUserSearchViewModel alloc] init];
viewModel.delegate = self;
RCUserSearchViewController * = [[RCUserSearchViewController alloc] initWithViewModel:viewModel];

[self.navigationController pushViewController:contactVC animated:YES];

...

/// 配置自定义显示用户详情,Returns: App 是否处理[YES : SDK 不再处理, NO: SDK 内部处理]
- (BOOL)userSearchViewModel:(RCUserSearchViewModel *)viewModel showUserProfile:(RCUserProfile *)profile;
{
}

...

自定义搜索事件

RCUserSearchViewController 支持自定义搜索事件,通过设置 RCUserSearchViewModeldelegate 属性, 实现相关代理方法。

Objective C

RCUserSearchViewModel *viewModel = [[RCUserSearchViewModel alloc] init];
viewModel.delegate = self;
RCUserSearchViewController * = [[RCUserSearchViewController alloc] initWithViewModel:viewModel];

[self.navigationController pushViewController:contactVC animated:YES];

...
/// 触发搜索用户事件, App是否处理[YES : SDK 不再处理, NO: SDK 内部处理]
- (BOOL)userSearchViewModel:(RCUserSearchViewModel *)viewModel searchUserProfileWithText:(NSString *)text {

}

...