实现思路:
重写会话页面中展示 cell 的方法,拿到当前消息Cell类中显示头像portraitImageView的 view,添加自定义 view,且需要避免重复添加。
实现步骤:
-
重写下面方法
-
判断 cell 如果是 RCMessageCell 类型,强转 cell 类型
-
获取到 RCMessageCell 对象的 portraitView 头像 view 属性,将该 view 强转为 UIImageView 类型。
-
创建自定义 view,建议设置 tag,并添加到强转后的头像 view 对象上。
-
在添加自定义 view 前,建议遍历头像 view 的 subViews,通过 tag 判断如果已添加自定义 view,不用重复添加或做移除操作。
/*!
即将显示消息Cell的回调
@param cell 消息Cell
@param indexPath 该Cell对应的消息Cell数据模型在数据源中的索引值
@discussion 您可以在此回调中修改Cell的显示和某些属性。
*/
- (void)willDisplayMessageCell:(RCMessageBaseCell *)cell atIndexPath:(NSIndexPath *)indexPath {
if ([cell isKindOfClass:[RCMessageCell class]]) {
RCMessageCell *msgCell = (RCMessageCell*)cell;
UIImageView *portraitView = (UIImageView*)msgCell.portraitImageView;
创建 自定义 view 的代码
[portraitView addSubview:创建的自定义 view]
}
else
{
//避免Cell复用问题。
}
}