123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- //
- // 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 option:nil];
- 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
|