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

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

  1. 需要先创建一个 RCTextMessageCell 的 category 。添加一个代理

@property(nonatomic, weak) id delegate

和其代理方法

  • (void)doubleTapTextMessage:(RCMessageModel *)model;
  1. 在 category 中重写 - (void)initialize 方法,添加手势。并将代理抛出去。

  2. 在会话页面实现这个代理方法,例子如下:

- (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