消息多选
IMKit 会话页面支持长按消息多选功能。
效果展示
自定义多选
您可参考 SealTalk 开源项目 中 RCDChatViewController
的 messageSelectionToolbar
操作实例。
-
是否为多选状态。
通过下面属性可设置会话页面多选状态和初始状态,如果为 YES,消息 cell 会变为多选样式。如果为 NO,页面恢复初始状态。
@property (nonatomic, assign) BOOL allowsMessageCellSelection;
如果需要修改 SDK 内置消息是否允许多选,可在会话页面重写下面方法,修改消息 cell 的
allowsSelection
属性。自定义消息如果允许多选,也可以设置此属性。- (void)willDisplayMessageCell:(RCMessageBaseCell *)cell atIndexPath:(NSIndexPath *)indexPath;
-
消息数据。
已经选择的所有消息,只有在
allowsMessageCellSelection
为 YES 时,才有有效值。@property(nonatomic, strong, readonly) NSArray<RCMessageModel *> *selectedMessages;
-
底部视图。
进入多选状态后,页面底部会出现的工具视图。您可以添加对多选消息的操作事件,如转发、收藏等。您可以在
viewDidLoad
中通过给messageSelectionToolbar
添加UIBarButtonItem
的方式添加事件。@property(nonatomic, strong) UIToolbar *messageSelectionToolbar;