如何实现双击文本消息放大

如何实现双击文本消息放大

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