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的实现