IM 即时通讯 (442)
Android (209)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (16)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (34)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (43)
iOS (168)
- SDK 导入 (10)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (26)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (4)
- 音视频 (3)
- 其他 (22)
Web (36)
Server (29)
消息多选功能
消息多选功能
发布时间: 2018-04-19 18:13
回答:
消息多选
此功能从 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, 搜“消息多选功能”,看相关多选功能代码