跳到主要内容

输入区域

Global IM UIKit 的输入区域是通过 RCInputBar 统一创建和控制的,支持自定义输入框按钮、自定义扩展功能、以及自定义贴纸。

下图输入区从左至右依次是加号扩展按钮、内容输入框(含贴纸按钮)、语音录制按钮。

(width=250)

修改输入栏按钮

输入框文本输入区域不允许修改,只支持对文本输入区域的左右按钮增加或者删除。RCInputBar 的属性 leftItems 可以获取到默认的左边按钮,属性 rightItems 可以获取到默认的右边按钮。

您可以在会话页面 RCChatViewControllerviewDidLoad 之后改变输入栏的按钮

- (void)viewDidLoad {
[super viewDidLoad];
/// 左按钮
__weak typeof(self) weakSelf = self;
NSMutableArray *tempList = self.inputBar.leftItems.mutableCopy;
{
RCBarItem *barItem = [RCBarItem itemWithTitle:@"" image:[UIImage imageNamed:@"video"] action:^(RCBarItem *item){
[weakSelf.view showHUDMessage:@"video call Clicked"];
}];
barItem.tag = 2001;
[tempList addObject:barItem];
}
self.inputBar.leftItems = tempList.copy;

/// 右按钮
tempList = self.inputBar.rightItems.mutableCopy;
{
RCBarItem *barItem = [RCBarItem itemWithTitle:@"" image:[UIImage imageNamed:@"voice"] action:^(RCBarItem *item){
[weakSelf.view showHUDMessage:@"voice call Clicked"];
}];
barItem.tag = 2002;
[tempList addObject:barItem];
}
self.inputBar.rightItems = tempList.copy;
}

输入区域扩展面板

融云将点击输入栏 + 号按钮时展示的面板称为扩展面板扩展面板上可以实现相册、拍照、文件等功能。

alt(width=400)

RCInputBar 的属性 addExpandItems 是扩展面板的功能列表:

@property (nonatomic, strong) NSMutableArray<RCInputAddBarItem *> *addExpandItems;

默认的菜单选项可以根据 tag 来区分,参考如下:

功能tag
相册RCInputAddBarItemGallery
拍照RCInputAddBarItemCamera
文件RCInputAddBarItemDocument

您可以通过操作 addExpandItems 增加、删除、修改扩展功能。

- (void)viewDidLoad {
[super viewDidLoad];
RCInputAddBarItem *item = self.inputBar.addExpandItems[2];
[self.inputBar.addExpandItems removeObjectAtIndex:2];
[self.inputBar.addExpandItems insertObject:item atIndex:0];
__weak typeof(self) weakSelf = self;
[self.inputBar.addExpandItems addObject:[RCInputAddBarItem itemWithTitle:@"Position" image:[UIImage imageNamed:@"Position"] action:^(RCBarItem *item){
[weakSelf.view showHUDMessage:@"Position Clicked"];
}]];
}

贴纸面板

Global IM UIKit 默认只提供贴纸按钮(如下图)和贴纸展示的面板,贴纸资源需要由应用程序提供给 Global IM UIKit。

(width=250)

关于如何添加自定义贴纸,详见贴纸消息