聊天界面
下文将向您展示如何设置聊天界面自定义选项及其效果。
消息列表相关
聊天界面背景色、背景图片
API 作用:设置聊天界面消息列表背景色、背景图片,针对所有聊天界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Customize the backgroud color of message list interface.* This configuration takes effect in all message list interfaces.*/@property (nonatomic, strong) UIColor *backgroudColor;/*** Customize the backgroud image of message list interface.* This configuration takes effect in all message list interfaces.*/@property (nonatomic, strong) UIImage *backgroudImage;
示例代码:
// When to call: Before initializing the message list interface.[TUIChatConfig_Minimalist sharedConfig].backgroudColor = [UIColor tui_colorWithHex:@"#E1FFFF"];[TUIChatConfig_Minimalist sharedConfig].backgroudImage = [UIImage imageNamed:@"your_background_image"];
设置效果:
背景色 | 设置背景图片 | 默认 |
| | |
用户头像类型、圆角半径
API 作用:设置用户头像类型、圆角半径。目前支持的类型有矩形、圆形、圆角矩形,其中只有圆角矩形类型会使用到圆角半径。针对消息列表、会话列表和联系人列表生效。
API 原型:
// TUIChatConfig_Minimalist.htypedef NS_ENUM(NSInteger, TUIAvatarStyle) {TUIAvatarStyleRectangle,TUIAvatarStyleCircle,TUIAvatarStyleRoundedRectangle,};/*** Customize the style of avatar.* The default value is TUIAvatarStyleCircle.* This configuration takes effect in all avatars.*/@property (nonatomic, assign) TUIAvatarStyle avatarStyle;/*** Customize the corner radius of the avatar.* This configuration takes effect in all avatars.*/@property (nonatomic, assign) CGFloat avatarCornerRadius;
示例代码:
// When to call: Before initializing the TUIKit interfaces.[TUIChatConfig_Minimalist sharedConfig].avatarStyle = TUIAvatarStyleRectangle;// Set cornerRadius[TUIChatConfig_Minimalist sharedConfig].avatarStyle = TUIAvatarStyleRoundedRectangle;[TUIChatConfig_Minimalist sharedConfig].avatarCornerRadius = 10;
设置效果:
默认圆形头像 | 设置圆角矩形头像 | 设置矩形头像 |
| | |
设置群头像展示九宫格
API 作用:设置群头像展示九宫格。针对消息列表、会话列表和联系人列表生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Display the group avatar in the nine-square grid style.* The default value is YES.* This configuration takes effect in all groups.*/@property (nonatomic, assign) BOOL enableGroupGridAvatar;
示例代码:
// When to call: Before initializing the TUIKit interfaces.[TUIChatConfig_Minimalist sharedConfig].enableGroupGridAvatar = NO;
设置效果:
设置群头像不展示九宫格 | 默认 |
| |
开启正在输入状态指示
API 作用:开启“正在输入”状态指示。针对所有 1v1 聊天消息界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Enable the display "Alice is typing..." on one-to-one chat interface.* The default value is YES.* This configuration takes effect in all one-to-one chat message list interfaces.*/@property (nonatomic, assign) BOOL enableTypingIndicator;
示例代码:
// When to call: Before initializing the message list interface.[TUIChatConfig_Minimalist sharedConfig].enableTypingIndicator = NO;
设置效果:
开启“正在输入” | 不开启“正在输入” |
| |
开启消息已读回执
API 作用:开启消息已读回执,开启后可以在消息详情中查看已读信息。针对所有消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** When sending a message, set this flag to require message read receipt.* The default value is NO.* This configuration takes effect in all chat message list interfaces.*/@property (nonatomic, assign) BOOL isMessageReadReceiptNeeded;
示例代码:
// When to call: Before sending messages.[TUIChatConfig_Minimalist sharedConfig].isMessageReadReceiptNeeded = YES;
设置效果:
开启消息已读回执 | 不开启消息已读回执 |
| |
隐藏长按消息菜单按钮
API 作用:隐藏长按消息菜单中的指定按钮,针对所有聊天消息生效。
API 原型:
// TUIChatConfig_Minimalist.htypedef NS_OPTIONS(NSInteger, TUIChatItemWhenLongPressMessage_Minimalist) {TUIChatItemWhenLongPressMessage_Minimalist_None = 0,TUIChatItemWhenLongPressMessage_Minimalist_Reply = 1 << 0,TUIChatItemWhenLongPressMessage_Minimalist_EmojiReaction = 1 << 1,TUIChatItemWhenLongPressMessage_Minimalist_Quote = 1 << 2,TUIChatItemWhenLongPressMessage_Minimalist_Pin = 1 << 3,TUIChatItemWhenLongPressMessage_Minimalist_Recall = 1 << 4,TUIChatItemWhenLongPressMessage_Minimalist_Translate = 1 << 5,TUIChatItemWhenLongPressMessage_Minimalist_Convert = 1 << 6,TUIChatItemWhenLongPressMessage_Minimalist_Forward = 1 << 7,TUIChatItemWhenLongPressMessage_Minimalist_Select = 1 << 8,TUIChatItemWhenLongPressMessage_Minimalist_Copy = 1 << 9,TUIChatItemWhenLongPressMessage_Minimalist_Delete = 1 << 10,TUIChatItemWhenLongPressMessage_Minimalist_Info = 1 << 11,};/*** Hide the items in the pop-up menu when user presses the message.*/+ (void)hideItemsWhenLongPressMessage:(TUIChatItemWhenLongPressMessage_Minimalist)items;
示例代码:
// When to call: Before displaying the pop-up menu when user presses the message.[TUIChatConfig_Minimalist hideItemsWhenLongPressMessage:TUIChatItemWhenLongPressMessage_Minimalist_Reply|TUIChatItemWhenLongPressMessage_Minimalist_Recall|TUIChatItemWhenLongPressMessage_Minimalist_Select];
设置效果:
不隐藏任何按钮 | 隐藏 Forward 按钮 |
| |
隐藏视频通话、视频通话按钮
API 作用:隐藏消息列表顶部的音频、视频通话按钮,针对所有聊天消息界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Hide the "Video Call" button in the message list header.* The default value is NO.*/@property (nonatomic, assign) BOOL hideVideoCallButton;/*** Hide the "Audio Call" button in the message list header.* The default value is NO.*/@property (nonatomic, assign) BOOL hideAudioCallButton;
示例代码:
// When to call: Before entering the message list interface.[TUIChatConfig_Minimalist sharedConfig].hideVideoCallButton = YES;[TUIChatConfig_Minimalist sharedConfig].hideAudioCallButton = YES;
设置效果:
隐藏视频通话按钮 | 隐藏音频通话按钮 | 默认 |
| |
|
开启音视频通话浮窗
API 作用:开启音视频通话浮窗。开启后,您可以将音视频通话界面以小窗口的形式漂浮在聊天界面。针对所有音视频通话界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Turn on audio and video call floating windows,* The default value is YES.*/@property (nonatomic, assign) BOOL enableFloatWindowForCall;
示例代码:
// When to call: Before entering the message list interface.[TUIChatConfig_Minimalist sharedConfig].enableFloatWindowForCall = NO;
开启音视频通话多端登录
API 作用:开启音视频通话多端登录。针对所有音视频通话生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Enable multi-terminal login function for audio and video calls* The default value is NO.*/@property (nonatomic, assign) BOOL enableMultiDeviceForCall;
示例代码:
// When to call: Before entering the message list interface.[TUIChatConfig_Minimalist sharedConfig].enableMultiDeviceForCall = YES;
设置消息列表顶部自定义 View
API 作用:设置聊天界面顶部自定义 View,针对所有聊天消息界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Add a custom view at the top of the chat interface.* This view will be displayed at the top of the message list and will not slide up.*/+ (void)setCustomTopView:(UIView *)view;
示例代码:
// When to call: Before initializing the message list interface.// tipsView is your customized view.[TUIChatConfig_Minimalist setCustomTopView:tipsView];
设置效果:
设置自定义view | 默认 |
| |
设置消息是否不计入未读
API 作用:设置即将发送的消息不更新会话未读数,针对所有消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Set this parameter when the sender sends a message, and the receiver will not update the unread count after receiving the message.* The default value is NO.*/@property (nonatomic, assign) BOOL isExcludedFromUnreadCount;
示例代码:
// When to call: Before sending messages.[TUIChatConfig_Minimalist sharedConfig].isExcludedFromUnreadCount = YES;
设置消息是否不更新会话 lastMsg
API 作用:设置即将发送的消息不更新会话 lastMsg,针对所有消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Set this parameter when the sender sends a message, and the receiver will not update the last message of the conversation after receiving the message.* The default value is NO.*/@property (nonatomic, assign) BOOL isExcludedFromLastMessage;
示例代码:
// When to call: Before sending messages.[TUIChatConfig_Minimalist sharedConfig].isExcludedFromLastMessage = YES;
消息撤回时间间隔
API 作用:设置消息撤回时间,针对所有消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Time interval within which a message can be recalled after being sent.* The default value is 120 seconds.* If you want to adjust this configuration, please modify the setting on Chat Console synchronously: https://trtc.io/document/34419?platform=web&product=chat&menulabel=uikit#message-recall-settings*/@property (nonatomic, assign) NSUInteger timeIntervalForAllowedMessageRecall;
示例代码:
// When to call: Before sending messages.[TUIChatConfig_Minimalist sharedConfig].timeIntervalForAllowedMessageRecall = 90;
语音、视频消息最长录制时长
API 作用:设置语音、视频消息最长录制时长,针对所有语音、视频消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Maximum audio recording duration, no more than 60s.* The default value is 60 seconds.*/@property (nonatomic, assign) CGFloat maxAudioRecordDuration;/*** Maximum video recording duration, no more than 15s.* The default value is 15 seconds.*/@property (nonatomic, assign) CGFloat maxVideoRecordDuration;
示例代码:
// When to call: Before recording audio or video messages.[TUIChatConfig_Minimalist sharedConfig].maxAudioRecordDuration = 10;[TUIChatConfig_Minimalist sharedConfig].maxVideoRecordDuration = 10;
开启自定义铃声
API 作用:设置 Android 设备收到消息时的铃声为内置的自定义铃声,针对所有消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Enable custom ringtone.* This config takes effect only for Android devices.*/@property (nonatomic, assign) BOOL enableAndroidCustomRing;
示例代码:
// When to call: Before sending messages.[TUIChatConfig_Minimalist sharedConfig].enableAndroidCustomRing = YES;
开启语音消息扬声器播放
API 作用:设置播放语音消息时默认使用扬声器而不是听筒播放。针对所有语音消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Call this method to use speakers instead of handsets by default when playing voice messages.*/+ (void)setPlayingSoundMessageViaSpeakerByDefault;
示例代码:
// When to call: Before initializing the Message interface.[TUIChatConfig_Minimalist setPlayingSoundMessageViaSpeakerByDefault];
注册自定义消息
API 原型:
// TUIChatConfig_Minimalist.h/*** Register custom message.* - Parameters:* - businessID: Customized message‘s businessID, which is unique.* - cellName: Customized message's MessagCell class name.* - cellDataName: Customized message's MessagCellData class name.*/- (void)registerCustomMessage:(NSString *)businessIDmessageCellClassName:(NSString *)cellNamemessageCellDataClassName:(NSString *)cellDataName;
示例代码:
// When to call: Before initializing the Message List interface.[[TUIChatConfig_Minimalist sharedConfig] registerCustomMessage:BussinessID_TextLinkmessageCellClassName:@"TUILinkCell"messageCellDataClassName:@"TUILinkCellData"];
点击、长按消息列表里的用户头像
API 作用:用户点击、长按了消息列表里的用户头像的事件回调。
API 原型:
// TUIChatConfig_Minimalist.h@protocol TUIChatConfigDelegate_Minimalist <NSObject>/*** Tells the delegate a user's avatar in the chat list is clicked.* Returning YES indicates this event has been intercepted, and Chat will not process it further.* Returning NO indicates this event is not intercepted, and Chat will continue to process it.*/- (BOOL)onUserAvatarClicked:(UIView *)view messageCellData:(TUIMessageCellData *)celldata;/*** Tells the delegate a user's avatar in the chat list is long pressed.* Returning YES indicates that this event has been intercepted, and Chat will not process it further.* Returning NO indicates that this event is not intercepted, and Chat will continue to process it.*/- (BOOL)onUserAvatarLongPressed:(UIView *)view messageCellData:(TUIMessageCellData *)celldata;@end
示例代码:
[TUIChatConfig_Minimalist sharedConfig].delegate = self;// TUIChatConfigDelegate_Minimalist- (BOOL)onUserAvatarClicked:(UIView *)view messageCellData:(TUIMessageCellData *)celldata {// Customize your own action when user avatar is clicked.NSLog(@"onUserAvatarClicked, cellData: %@", celldata);return YES;}- (BOOL)onUserAvatarLongPressed:(UIView *)view messageCellData:(TUIMessageCellData *)celldata {// Customize your own action when user avatar is long pressed.NSLog(@"onUserAvatarLongPressed, cellData: %@", celldata);return YES;}
点击、长按消息列表里的消息
API 作用:用户点击、长按了消息列表里的消息的事件回调。
API 原型:
// TUIChatConfig_Minimalist.h@protocol TUIChatConfigDelegate_Minimalist <NSObject>/*** Tells the delegate a message in the chat list is clicked.* Returning YES indicates that this event has been intercepted, and Chat will not process it further.* Returning NO indicates that this event is not intercepted, and Chat will continue to process it.*/- (BOOL)onMessageClicked:(UIView *)view messageCellData:(TUIMessageCellData *)celldata;/*** Tells the delegate a message in the chat list is long pressed.* Returning YES indicates that this event has been intercepted, and Chat will not process it further.* Returning NO indicates that this event is not intercepted, and Chat will continue to process it.*/- (BOOL)onMessageLongPressed:(UIView *)view messageCellData:(TUIMessageCellData *)celldata;@end
示例代码:
[TUIChatConfig_Minimalist sharedConfig].delegate = self;// TUIChatConfigDelegate_Minimalist- (BOOL)onMessageClicked:(UIView *)view messageCellData:(TUIMessageCellData *)celldata {// Customize your own action when message is clicked.NSLog(@"onMessageClicked, cellData: %@", celldata);return YES;}- (BOOL)onMessageLongPressed:(UIView *)view messageCellData:(TUIMessageCellData *)celldata {// Customize your own action when message is long pressed.NSLog(@"onMessageLongPressed, cellData: %@", celldata);return YES;}
消息样式相关
文本消息的颜色、字体
API 作用:设置发送、接收的文本消息的文字颜色和字体。针对所有的文本消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** The color of send text message.*/@property(nonatomic, assign) UIColor *sendTextMessageColor;/*** The font of send text message.*/@property(nonatomic, assign) UIFont *sendTextMessageFont;/** The color of receive text message.*/@property(nonatomic, assign) UIColor *receiveTextMessageColor;/*** The font of receive text message.*/@property(nonatomic, assign) UIFont *receiveTextMessageFont;
示例代码:
// When to call: After initializing the message list interface and before entering it.[TUIChatConfig_Minimalist sharedConfig].sendTextMessageColor = [UIColor tui_colorWithHex:@"#00BFFF"];[TUIChatConfig_Minimalist sharedConfig].sendTextMessageFont = [UIFont systemFontOfSize:20];[TUIChatConfig_Minimalist sharedConfig].receiveTextMessageColor = [UIColor tui_colorWithHex:@"#2E8B57"];[TUIChatConfig_Minimalist sharedConfig].receiveTextMessageFont = [UIFont systemFontOfSize:20];
设置效果:
设置文本消息文字颜色 | 设置文本消息字体 | 默认 |
| | |
系统通知消息字体、颜色和背景色
API 作用:设置系统通知消息文字的字体、颜色和背景色,针对所有系统通知消息生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** The text color of system message.*/@property (nonatomic, strong) UIColor *systemMessageTextColor;/*** The font of system message.*/@property (nonatomic, strong) UIFont *systemMessageTextFont;/*** The background color of system message.*/@property (nonatomic, strong) UIColor *systemMessageBackgroundColor;
示例代码:
// When to call: After initializing the message list interface and before entering it.[TUIChatConfig_Minimalist sharedConfig].systemMessageTextColor = [UIColor tui_colorWithHex:@"#FF8C00"];[TUIChatConfig_Minimalist sharedConfig].systemMessageTextFont = [UIFont systemFontOfSize:24];[TUIChatConfig_Minimalist sharedConfig].systemMessageBackgroundColor = [UIColor tui_colorWithHex:@"#F0FFF0"];
设置效果:
设置系统通知消息文字的字体、颜色和背景色 | 默认 |
| |
消息布局相关
消息 layout
API 作用:设置各种类型消息 layout,针对指定的消息生效。
API 原型:
// TUIMessageCellLayout.h@interface TUIMessageCellLayout : NSObject/*** The insets of message*/@property(nonatomic, assign) UIEdgeInsets messageInsets;/*** The insets of bubble content.*/@property(nonatomic, assign) UIEdgeInsets bubbleInsets;/*** The insets of avatar*/@property(nonatomic, assign) UIEdgeInsets avatarInsets;/*** The size of avatar*/@property(nonatomic, assign) CGSize avatarSize;@end// TUIChatConfig_Minimalist.h/*** Text message cell layout of my sent message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *sendTextMessageLayout;/*** Text message cell layout of my received message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *receiveTextMessageLayout;/*** Image message cell layout of my sent message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *sendImageMessageLayout;/*** Image message cell layout of my received message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *receiveImageMessageLayout;/*** Voice message cell layout of my sent message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *sendVoiceMessageLayout;/*** Voice message cell layout of my received message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *receiveVoiceMessageLayout;/*** Video message cell layout of my sent message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *sendVideoMessageLayout;/*** Video message cell layout of my received message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *receiveVideoMessageLayout;/*** Other message cell layout of my sent message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *sendMessageLayout;/*** Other message cell layout of my received message.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *receiveMessageLayout;/*** System message cell layout.*/@property(nonatomic, assign, readonly) TUIMessageCellLayout *systemMessageLayout;
示例代码:
// When to call: After initializing the message list interface and before entering it.// TextMesssageLayout[TUIChatConfig_Minimalist sharedConfig].receiveTextMessageLayout.bubbleInsets = UIEdgeInsetsMake(30, 30, 30, 30);[TUIChatConfig_Minimalist sharedConfig].sendTextMessageLayout.avatarInsets = UIEdgeInsetsMake(30, 0, 0, 30);[TUIChatConfig_Minimalist sharedConfig].sendTextMessageLayout.bubbleInsets = UIEdgeInsetsMake(0, 0, 10, 20);
设置效果:
设置头像尺寸 | 设置头像边距 | 设置气泡内边距 |
| | |
消息气泡相关
开启消息气泡展示
API 作用:开启消息气泡展示,针对所有聊天界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Enable the message display in the bubble style.* The default value is YES.*/@property(nonatomic, assign) BOOL enableMessageBubbleStyle;
示例代码:
// When to call: After initializing the message list interface and before entering it.[TUIChatConfig_Minimalist sharedConfig].enableMessageBubbleStyle = NO;
设置效果:
不显示消息气泡 | 默认 |
| |
气泡背景图设置
API 作用:设置气泡背景图,针对所有聊天界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Set the background image of the last sent message bubble in consecutive messages.*/@property (nonatomic, strong) UIImage *sendLastBubbleBackgroundImage;/*** Set the background image of the non-last sent message bubble in consecutive message.*/@property (nonatomic, strong) UIImage *sendBubbleBackgroundImage;/*** Set the background image of the sent message bubble in highlight status.*/@property (nonatomic, strong) UIImage *sendHighlightBubbleBackgroundImage;/*** Set the light background image when the sent message bubble needs to flicker.*/@property (nonatomic, strong) UIImage *sendAnimateLightBubbleBackgroundImage;/*** Set the dark background image when the sent message bubble needs to flicker.*/@property (nonatomic, strong) UIImage *sendAnimateDarkBubbleBackgroundImage;/*** Set the background image of the last received message bubble in consecutive message.*/@property (nonatomic, strong) UIImage *receiveLastBubbleBackgroundImage;/*** Set the background image of the non-last received message bubble in consecutive message.*/@property (nonatomic, strong) UIImage *receiveBubbleBackgroundImage;/*** Set the background image of the received message bubble in highlight status.*/@property (nonatomic, strong) UIImage *receiveHighlightBubbleBackgroundImage;/*** Set the light background image when the received message bubble needs to flicker.*/@property (nonatomic, strong) UIImage *receiveAnimateLightBubbleBackgroundImage;/*** Set the dark background image when the received message bubble needs to flicker.*/@property (nonatomic, strong) UIImage *receiveAnimateDarkBubbleBackgroundImage;
示例代码:
// When to call: After initializing the message list interface and before entering it.[TUIChatConfig_Minimalist sharedConfig].sendLastBubbleBackgroundImage = [UIImage imageNamed:@"SenderTextNodeBkg@3x.png"];[TUIChatConfig_Minimalist sharedConfig].sendBubbleBackgroundImage = [UIImage imageNamed:@"SenderTextNodeBkg_Same@3x.png"];[TUIChatConfig_Minimalist sharedConfig].receiveLastBubbleBackgroundImage = [UIImage imageNamed:@"ReceiverTextNodeBkg@3x.png"];[TUIChatConfig_Minimalist sharedConfig].receiveBubbleBackgroundImage = [UIImage imageNamed:@"ReceiverTextNodeBkg_Same@3x.png"];
设置效果:
设置气泡背景图 | 默认 |
| |
输入栏相关
展示聊天界面输入框
API 作用:展示聊天界面输入框,针对所有聊天界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Show the input bar in the message list interface.* The default value is YES.*/@property(nonatomic, assign) BOOL showInputBar;
示例代码:
// When to call: After initializing the message list interface and before entering it.[TUIChatConfig_Minimalist sharedConfig].showInputBar = NO;
设置效果:
隐藏输入框 | 默认 |
| |
隐藏更多菜单中选项(全局)
API 作用:隐藏更多菜单中的按钮,针对所有聊天界面生效。
API 原型:
// TUIChatConfig_Minimalist.h/*** Hide items in more menu.*/+ (void)hideItemsInMoreMenu:(TUIChatInputBarMoreMenuItem_Minimalist)items;
示例代码:
// When to call: After initializing the message list interface and before entering it.// 调用时机:初始化聊天界面之后,进入聊天界面之前[TUIChatConfig_Minimalist hideItemsInMoreMenu:TUIChatInputBarMoreMenuItem_Minimalist_CustomMessage|TUIChatInputBarMoreMenuItem_Minimalist_RecordVideo|TUIChatInputBarMoreMenuItem_Minimalist_File];
设置效果:
隐藏部分 item | 默认 |
| |
隐藏更多菜单中选项(局部)
API 作用:隐藏更多菜单中的按钮,针对指定聊天界面生效。
API 原型:
// TUIChatConfig_Minimalist.h@protocol TUIChatInputBarConfigDataSource_Minimalist <NSObject>- (NSInteger)inputBarShouldHideItemsInMoreMenuOfModel:(TUIChatConversationModel *)model;@end
示例代码:
// When to call: After initializing the message list interface and before entering it.[TUIChatConfig_Minimalist sharedConfig].inputBarDataSource = self;// TUIChatInputBarConfigDataSource_Minimalist- (NSInteger)inputBarShouldHideItemsInMoreMenuOfModel:(TUIChatConversationModel *)model {if ([model.groupID isEqualToString:@"your target groupID"]) {return TUIChatInputBarMoreMenuItem_Minimalist_CustomMessage|TUIChatInputBarMoreMenuItem_Minimalist_RecordVideo|TUIChatInputBarMoreMenuItem_Minimalist_File;}return TUIChatInputBarMoreMenuItem_Minimalist_None;}
更多菜单添加选项(局部)
API 作用:向更多菜单添加选项,针对指定聊天界面生效。
API 原型:
// TUIChatConfig_Minimalist.h@protocol TUIChatInputBarConfigDataSource_Minimalist <NSObject>- (NSArray<TUICustomActionSheetItem *> *)inputBarShouldAddNewItemsToMoreMenuOfModel:(TUIChatConversationModel *)model;@end
示例代码:
// When to call: After initializing the message list interface and before entering it.[TUIChatConfig_Minimalist sharedConfig].inputBarDataSource = self;// TUIChatInputBarConfigDataSource_Minimalist- (NSArray<TUICustomActionSheetItem *> *)inputBarShouldAddNewItemsToMoreMenuOfModel:(TUIChatConversationModel *)model {// Priority is highest so item1 will be added to the top.TUICustomActionSheetItem *item1 = [TUICustomActionSheetItem new];item1.priority = 10000;item1.title = @"item1";item1.leftMark = [UIImage imageNamed:@"example_img@3x.png"];item1.actionStyle = UIAlertActionStyleDefault;item1.actionHandler = ^(UIAlertAction * _Nonnull action) {NSLog(@"item1 is clicked");};// item2 will be added to the bottom above the "Custom" item.TUICustomActionSheetItem *item2 = [[TUICustomActionSheetItem alloc] initWithTitle:@"item2" leftMark:[UIImage imageNamed:@"example_img@3x.png"] withActionHandler:^(UIAlertAction * _Nonnull action) {NSLog(@"item2 is clicked");}];return @[item1, item2];}
设置效果:
添加 item | 默认 |
| |
添加表情组
API 原型:
// TUIChatConfig_Minimalist.h/*** Add sticker group.*/- (void)addStickerGroup:(TUIFaceGroup *)group;
示例代码:
// When to call: After initializing the message list interface and before entering it.TUIFaceGroup *group4350 = [[TUIFaceGroup alloc] init];group4350.groupIndex = 1;group4350.groupPath = [bundlePath stringByAppendingPathComponent:@"4350/"];group4350.faces = faces4350;group4350.rowCount = 2;group4350.itemCountPerRow = 5;group4350.menuPath = [bundlePath stringByAppendingPathComponent:@"4350/menu"];[[TUIChatConfig_Minimalist sharedConfig] addStickerGroup:group4350];