如何实现双击文本消息放大
1、需要先创建一个 RCTextMessageCell 的 category 。添加一个代理
@property(nonatomic, weak) id delegate
和其代理方法
(void)doubleTapTextMessage: (RCMessageModel *)model;
2、在 category 中重写 - (void)initialize 方法,添加手势。并将代理抛出去。
3、在会话页面实现这个代理方法,例子如下:
- (void)doubleTapTextMessage: (RCMessageModel *)model {
//解决发送文本消息,里面双击刚发出的消息,进入查看页面,再退出查看页面,文本消息长按没有menuItem的问题
[self.chatSessionInputBarControl resetToDefaultStatus];
[self.chatSessionInputBarControl resignFirstResponder];
if ([model.content isMemberOfClass:[RCTextMessage class]]) {
RCTextMessage *msg = (RCTextMessage *)model.content;
MagnifyMessageViewController *magnifyMessageVC = [[MagnifyMessageViewController alloc] init];
magnifyMessageVC.message = msg.content;
magnifyMessageVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:magnifyMessageVC animated:YES completion:nil];
}
}
MagnifyMessageViewController这个VC是自己实现一个VC,主要包括一个textView来展示文本消息,开发者可以自己来实现
附: category 的代码例子
RCTextMessageCell+RCEDoubleTapGesture.m