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

5.0.0 及之后版本:

自定义cell 的子控件只要添加在父类控件 messageContentView 上,根据子控件大小调节父类控件的尺寸之后,就可以响应点击事件 didTapMessageCell:方法,参考官网demo (https://github.com/rongcloud/sealtalk-ios) 中的 RCDTestMessageCell 消息cell

5.0.0 之前版本:

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

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

UITapGestureRecognizer *pictureTap =

[[UITapGestureRecognizer alloc] initWithTarget: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