群组页面
此功能在 5.12.0 版本开始支持。
群组相关页面包含选择联系人、创建群组、群组设置、群成员列表等。
开通服务
信息托管服务已默认开通,您可以直接使用此功能。
选择/添加联系人页面
选择或者添加联系人页面类是RCSelectUserViewController
。
选择或者添加联系人页面默认显示的是信息托管服务上当前用户好友列表。


初始化
调用 RCSelectUserViewController
类的初始化方法构建好友列表页面。
注意,您需要创建一个 RCSelectUserViewModel 对象, 作为RCSelectUserViewController
的业务逻辑处理模块。
参数说明
RCSelectUserViewController
说明:
参数 | 类型 | 说明 |
---|---|---|
viewModel | RCSelectUserViewModel | RCSelectUserViewController 的业务逻辑处理模块。 获取联系人列表并处理展示逻辑。 |
参数 | 类型 | 说明 |
---|---|---|
type | RCSelectUserType | 选择联系人类型,包含创建群组选人 RCSelectUserTypeCreateGroup 和 群组加人选人 RCSelectUserTypeInviteJoinGroup |
groupId | NSString | 群组id,非必传。当群组加人选人 RCSelectUserTypeInviteJoinGroup 时必传 |
示例代码
// 群组 id,非必传。当群组加人选人 `RCSelectUserTypeInviteJoinGroup`时必传
RCSelectUserViewModel *vm = [RCSelectUserViewModel viewModelWithType:RCSelectUserTypeCreateGroup groupId:nil];
RCSelectUserViewController *vc = [[RCSelectUserViewController alloc] initWithViewModel:vm];
[self.navigationController pushViewController:vc animated:YES];
配置单次可选择的最大人数
IMKit 可以通过 RCSelectUserViewModel
的 maxSelectCount
属性配置单次可选择的最大人数。默认能选择的最大人数为 30,配置值需大于 0,小于等于 100。
示例代码
RCSelectUserViewModel *vm = [RCSelectUserViewModel viewModelWithType:RCSelectUserTypeCreateGroup groupId:nil];
// 默认能选择的最大人数为 30
vm.maxSelectCount = 50;
RCSelectUserViewController *vc = [[RCSelectUserViewController alloc] initWithViewModel:vm];
[self.navigationController pushViewController:vc animated:YES];
拦截选择完成回调
通过 RCSelectUserViewModel
的代理 RCSelectUserViewModelDelegate
可以拦截选择完成回调。
- 添加代理:
RCSelectUserViewModel *vm = [RCSelectUserViewModel viewModelWithType:RCSelectUserTypeCreateGroup groupId:nil];
vm.delegate = self;
RCSelectUserViewController *vc = [[RCSelectUserViewController alloc] initWithViewModel:vm];
[self.navigationController pushViewController:vc animated:YES];
- 实现拦截选择完成的代理方法:
- (BOOL)selectUserDidSelectComplete:(RCSelectUserViewModel *)viewModel
selectUserIds:(NSMutableArray <NSString *>*)selectUserIds
viewController:(UIViewController*)viewController {
return YES;//YES : SDK不再处理, NO: SDK处理
}
创建群组页面
创建群组页面的类是 RCGroupCreateViewController
。

初始化
调用 RCGroupCreateViewController
类的初始化方法构建好友列表页面。
注意,您需要创建一个 RCGroupCreateViewModel 对象, 作为RCGroupCreateViewController
的业务逻辑处理模块。
参数说明
RCGroupCreateViewController
说明:
参数 | 类型 | 说明 |
---|---|---|
viewModel | RCGroupCreateViewModel | RCGroupCreateViewController 的业务逻辑处理模块。 创建群组逻辑处理。 |
RCGroupCreateViewModel
说明:
参数 | 类型 | 说明 |
---|---|---|
inviteeUserIds | NSArray <NSString *>* | 当前选择的用户列表,不包含当前用户 |
delegate | RCGroupCreateViewModelDelegate | 代理 |
示例代码
NSArray *selectUserIds = @[@"userId1", @"userId2"];
RCGroupCreateViewModel *viewModel = [RCGroupCreateViewModel viewModelWithInviteeUserIds:self.selectUserIds];
viewModel.delegate = self;
RCGroupCreateViewController *vc = [[RCGroupCreateViewController alloc] initWithViewModel:viewModel];
[self.navigationController pushViewController:vc animated:YES];
群组 Id 是由您提供的,所以必须实现 RCGroupCreateViewModel
代理 RCGroupCreateViewModelDelegate
的 generateGroupId
方法给 IMKit SDK 提供群组 Id。
示例代码
- (NSString *)generateGroupId {
return @"groupId";
}