
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
此功能从 SDK 2.9.0 版本开始支持,
长按,出现消息多选,并且可以自定义点击事件,如下图:
开发者在长按消息后出现更多选项,能够多选消息,SDK 默认实现多选消息删除功能
通过下面属性可设置会话页面多选状态和初始状态
/*! 会话页面消息是否可编辑选择,如果为 YES,消息 cell 会变为多选样式,如果为 NO,页面恢复初始状态。 */ @property(nonatomic, assign) BOOL allowsMessageCellSelection;
3.如果需要修改SDK内置消息是否允许多选,可通过在会话页面重写下面方法,修改消息 cell 的 allowsSelection 属性,自定义消息如果允许多选,也可以设置此属性
//RCConversationViewController /*! 即将显示消息Cell的回调 @param cell 消息Cell @param indexPath 该Cell对应的消息Cell数据模型在数据源中的索引值 @discussion 您可以在此回调中修改Cell的显示和某些属性。 */ - (void)willDisplayMessageCell:(RCMessageBaseCell *)cell atIndexPath:(NSIndexPath *)indexPath;
//RCMessageBaseCell /*! 是否允许选择 */ @property(nonatomic) BOOL allowsSelection;
4.进入多选状态后,底部的视图为:
//RCConversationViewController /*! 消息编辑选择的状态下页面底部出现的工具视图 */ @property(nonatomic, strong) UIToolbar *messageSelectionToolbar;
如果开发者想添加对多选消息的操作事件,如转发,收藏等,可以在 viewDidLoad 中 通过给 messageSelectionToolbar 添加UIBarButtonItem 的方式添加事件
5.通过下面属性拿到选择的消息数据
//RCConversationViewController /*! 已经选择的所有消息 @discussion 只有在 allowsMessageCellSelection 为 YES,才会有有效值 */ @property(nonatomic, strong, readonly) NSArray<RCMessageModel *> *selectedMessages;
6.关于导航左右按钮如果想要自定义,可以重写会话页面下面方法,可以参考 demo 里面这个方法的重写
//RCConversationViewController
/*!
更新导航栏返回按钮中显示的未读消息数
@discussion 如果您重写此方法,需要注意调用super。
*/
- (void)notifyUpdateUnreadMessageCount;
7.参考官网 demo(SealTalk)的会话页面 RCDChatViewController, 搜“消息多选功能”,看相关多选功能代码