Message Multi-Selection
IMKit's chat UI supports long-press multi-selection for messages.
Demo

Custom Multi-Selection
Refer to the messageSelectionToolbar implementation in RCDChatViewController from the SealTalk open-source project.
Set Multi-Selection Mode
Toggle between multi-selection and default modes by modifying the allowsMessageCellSelection property of RCConversationViewController. Set to YES to enable multi-selection styling for message cells; set to NO to restore the default state.
@property (nonatomic, assign) BOOL allowsMessageCellSelection;
To modify whether built-in messages support multi-selection, override the willDisplayMessageCell: method in the chat UI and adjust the cell's allowsSelection property. Custom messages can also enable multi-selection by setting this property.
- (void)willDisplayMessageCell:(RCMessageBaseCell *)cell atIndexPath:(NSIndexPath *)indexPath;
Retrieve Selected Messages
The selectedMessages property only returns valid values when allowsMessageCellSelection is set to YES in RCConversationViewController.
@property(nonatomic, strong, readonly) NSArray<RCMessageModel *> *selectedMessages;
Customize Bottom Toolbar
When multi-selection is active, a toolbar appears at the bottom. Add actions like forward or favorite for selected messages by including UIBarButtonItem elements in the messageSelectionToolbar during viewDidLoad of RCConversationViewController.
@property(nonatomic, strong) UIToolbar *messageSelectionToolbar;