由cell处理相应的事件
This commit is contained in:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user