当前知识库站点已不再维护。请移步新版知识库:https://help.rongcloud.cn/

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

如何实现双击文本消息放大
发布时间: 2017-11-02 15:29

回答:

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


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


@property(nonatomic, weak) id<DoubleTapDelegate> 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