Files
ifish/Ifish/controllers/IfishTabControllers/消息/IfishIMFiles/Sessions/SessionCell/Search/NTESSearchMessageContentCell.m
T
2017-08-15 16:59:01 +08:00

100 lines
3.7 KiB
Objective-C

//
// NTESSearchMessageContentCell.m
// NIM
//
// Created by chris on 15/7/8.
// Copyright (c) 2015年 Netease. All rights reserved.
//
#import "NTESSearchMessageContentCell.h"
#import "NTESSearchLocalHistoryObject.h"
#import "NTESSessionUtil.h"
#import "UIView+NTES.h"
#import "NIMAvatarImageView.h"
//font
CGFloat SearchCellTitleFontSize = 13.f;
CGFloat SearchCellContentFontSize = 12.f;
CGFloat SearchCellTimeFontSize = 12.f;
//layout
CGFloat SearchCellAvatarLeft = 15.f;
CGFloat SearchCellAvatarAndTitleSpacing = 10.f;
CGFloat SearchCellTitleTop = 10.f;
CGFloat SearchCellTimeRight = 15.f;
CGFloat SearchCellTimeTop = 10.f;
CGFloat SearchCellContentTop = 30.f;
CGFloat SearchCellContentBottom = 8.f;
CGFloat SearchCellContentMaxWidth = 260.f;
CGFloat SearchCellContentMinHeight = 15.f; //cell的高度是由文本高度决定的。防止没有文本的情况,导致cell的高度过小。
@interface NTESSearchMessageContentCell()
@property (nonatomic,strong) NIMAvatarImageView *avatar;
@property (nonatomic,strong) UILabel *titleLabel;
@property (nonatomic,strong) UILabel *contentLabel;
@property (nonatomic,strong) UILabel *timeLabel;
@property (nonatomic,strong) NTESSearchLocalHistoryObject *object;
@end
@implementation NTESSearchMessageContentCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
_avatar = [[NIMAvatarImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[self addSubview:_avatar];
_titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
_titleLabel.font = [UIFont systemFontOfSize:13.f];
[self addSubview:_titleLabel];
_contentLabel = [[UILabel alloc] initWithFrame:CGRectZero];
_contentLabel.font = [UIFont systemFontOfSize:12.f];
_contentLabel.textColor = [UIColor grayColor];
_contentLabel.numberOfLines = 0;
[self addSubview:_contentLabel];
_timeLabel = [[UILabel alloc] initWithFrame:CGRectZero];
_timeLabel.font = [UIFont systemFontOfSize:12.f];
[self addSubview:_timeLabel];
}
return self;
}
- (void)refresh:(NTESSearchLocalHistoryObject *)object{
self.object = object;
NIMMessage *message = object.message;
NIMKitInfo *info = [[NIMKit sharedKit] infoByUser:message.from];
NSURL *avatarURL;
if (info.avatarUrlString.length) {
avatarURL = [NSURL URLWithString:info.avatarUrlString];
}
[self.avatar nim_setImageWithURL:avatarURL placeholderImage:info.avatarImage];
self.titleLabel.text = info.showName;
self.contentLabel.text = message.text;
self.timeLabel.text = [NTESSessionUtil showTime:message.timestamp showDetail:YES];
[self.titleLabel sizeToFit];
self.contentLabel.size = [self.contentLabel sizeThatFits:CGSizeMake(SearchCellContentMaxWidth * UISreenWidthScale, CGFLOAT_MAX)];
self.contentLabel.height = MAX(SearchCellContentMinHeight, self.contentLabel.height);
[self.timeLabel sizeToFit];
}
- (void)layoutSubviews{
[super layoutSubviews];
self.avatar.top = SearchCellTitleTop;
self.avatar.left = SearchCellAvatarLeft;
self.titleLabel.left = self.avatar.right + SearchCellAvatarAndTitleSpacing;
self.contentLabel.left = self.titleLabel.left;
self.titleLabel.top = SearchCellTitleTop;
self.contentLabel.bottom = self.height - SearchCellContentBottom;
self.timeLabel.right = self.width - SearchCellTimeRight;
self.timeLabel.top = SearchCellTimeTop;
}
@end