输入区域
Global IM UIKit 的输入区域是通过 RCInputBar
统一创建和控制的,支持自定义输入框按钮、自定义扩展功能、以及自定义贴纸。
下图输入区从左至右依次是加号扩展按钮、内容输入框(含贴纸按钮)、语音录制按钮。
修改输入栏按钮
输入框文本输入区域不允许修改,只支持对文本输入区域的左右按钮增加或者删除。RCInputBar 的属性 leftItems
可以获取到默认的左边按钮,属性 rightItems
可以获取到默认的右边按钮。
您可以在会话页面 RCChatViewController
的 viewDidLoad
之后改变输入栏的按钮
Objective C
- (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;
}
输入区域扩展面板
融云将点击输入栏 +
号按钮时展示的面板称为扩展面板,扩展面板上可以实现相册、拍照、文件等功能。
RCInputBar
的属性 addExpandItems
是扩展面板的功能列表:
Objective C
@property (nonatomic, strong) NSMutableArray<RCInputAddBarItem *> *addExpandItems;
默认的菜单选项可以根据 tag 来区分,参考如下:
功能 | tag |
---|---|
相册 | RCInputAddBarItemGallery |
拍照 | RCInputAddBarItemCamera |
文件 | RCInputAddBarItemDocument |
您可以通过操作 addExpandItems
增加、删除、修改扩展功能。
Objective C
- (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。
关于如何添加自定义贴纸,详见贴纸消息。