实现自定义 cell 的点击事件。

自定义的消息 cell 默认是不会触发 SDK 中聊天页面中 cell 的点击事件,需要自己添加手势并设置代理
发布时间: 2015-12-17 10:22

回答:

下面以给自定义cell中的图片view实现点击为例。self.pictureView是这个自定义cell的一个图片view。

第一步:在自定义cell的- (void)initialize函数里,给图片view加一个点击手势

UITapGestureRecognizer *pictureTap =

  [[UITapGestureRecognizer allocinitWithTarget:self action:@selector(tapPicture:)];

    pictureTap.numberOfTapsRequired = 1;

    pictureTap.numberOfTouchesRequired = 1;

    [self.pictureView addGestureRecognizer:pictureTap];

    self.pictureView.userInteractionEnabled = YES;


第二步:为手势执行的方法设置代理

- (void)tapPicture:(UIGestureRecognizer *)gestureRecognizer {

    if ([self.delegate respondsToSelector:@selector(didTapMessageCell:)]) {

        [self.delegate didTapMessageCell:self.model];

    }

}


实现上面两步之后,点击自定义消息的拖,SDK就会调用下面函数了。

/**

 *  点击消息内容

 *

 *  @param model 数据

 */

- (void)didTapMessageCell:(RCMessageModel *)model;


具体可以参考附件中RCDTestMessage和RCDTestMessageCell的实现

RCDTestMessageAndCell.zip