由cell处理相应的事件

This commit is contained in:
fengshuo
2021-11-02 15:43:18 +08:00
parent f31743aaab
commit af6d90dcd2
4 changed files with 44 additions and 63 deletions

View File

@@ -25,7 +25,7 @@
#import "XPIMRoomDelegate.h"
@interface XPRoomMessageContainerView ()<UITableViewDelegate, UITableViewDataSource,NIMChatManagerDelegate, RooMessageDelegte>
@interface XPRoomMessageContainerView ()<UITableViewDelegate, UITableViewDataSource,NIMChatManagerDelegate>
///
@property (nonatomic,strong) UITableView *messageTableView;
///
@@ -94,7 +94,7 @@
#pragma mark -
///
- (void)addRoomMessage:(NIMMessage *)message {
XPRoomMessageDisplayModel * model = [[XPRoomMessageDisplayModel alloc] initDisplayModel:message delefate:self];
XPRoomMessageDisplayModel * model = [[XPRoomMessageDisplayModel alloc] initDisplayModel:message];
[self.tempArray addObject:model];
///
[self tryToappendAndScrollToBottom];
@@ -233,44 +233,6 @@
cell.displayModel = model;
return cell;
}
- (void)xpRoomMessageDisplayModel:(XPRoomMessageDisplayModel *)displayModel loadImageSuccess:(UIImageView *)imageView {
NSInteger index = [self.datasource indexOfObject:displayModel];
XPRoomMessageTableViewCell * cell = [self.messageTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0]];
[self loadUrlImageSuccess:imageView cell:cell];
}
- (void)xpRoomMessageDisplayModel:(XPRoomMessageDisplayModel *)displayModel didClickUser:(NSString *)userId {
///TODO : NSLog(@"点击的用户%@", userId);
}
- (void)loadUrlImageSuccess:(UIImageView *)imageView cell:(XPRoomMessageTableViewCell *)cell {
if (cell == nil) {
return;
}
CGSize size = CGSizeMake(kRoomMessageMaxWidth, CGFLOAT_MAX);
YYTextLayout *layout = [YYTextLayout layoutWithContainerSize:size text:cell.contentLabel.attributedText];
NSMutableAttributedString * attribute = [cell.contentLabel.attributedText mutableCopy];
if (layout.attachments.count > 0) {
for (int i = 0; i < layout.attachments.count; i++) {
YYTextAttachment * attachment = [layout.attachments objectAtIndex:i];
if (imageView == attachment.content) {
CGFloat kscale = (CGFloat)imageView.image.size.width / (CGFloat)imageView.image.size.height;
imageView.frame = CGRectMake(0, 0, 16 * kscale, 16);
NSValue * value = [layout.attachmentRanges objectAtIndex:i];
NSRange range = value.rangeValue;
NSMutableAttributedString * resultString = [NSMutableAttributedString yy_attachmentStringWithContent:imageView contentMode:UIViewContentModeScaleAspectFit attachmentSize:imageView.frame.size alignToFont:[UIFont systemFontOfSize:14.0] alignment:YYTextVerticalAlignmentCenter];
[attribute replaceCharactersInRange:range withAttributedString:resultString];
break;
}
}
cell.contentLabel.attributedText = nil;
cell.contentLabel.attributedText = attribute;
}
}
#pragma mark - Getters And Setters
- (UITableView *)messageTableView {
if (!_messageTableView) {