146 lines
4.1 KiB
Objective-C
146 lines
4.1 KiB
Objective-C
//
|
||
// TLUserDetailBaseInfoCell.m
|
||
// TLChat
|
||
//
|
||
// Created by 李伯坤 on 16/2/29.
|
||
// Copyright © 2016年 李伯坤. All rights reserved.
|
||
//
|
||
|
||
#import "TLUserDetailBaseInfoCell.h"
|
||
#import "TLUser.h"
|
||
#import "TLMacros.h"
|
||
|
||
#define MINE_SPACE_X 14.0f
|
||
#define MINE_SPACE_Y 12.0f
|
||
|
||
@interface TLUserDetailBaseInfoCell ()
|
||
|
||
@property (nonatomic, strong) UIButton *avatarView;
|
||
@property (nonatomic, strong) UILabel *shownameLabel;
|
||
@property (nonatomic, strong) UILabel *usernameLabel;
|
||
@property (nonatomic, strong) UILabel *nikenameLabel;
|
||
|
||
@property (nonatomic, copy) id (^eventAction)(NSInteger, id);
|
||
|
||
@end
|
||
|
||
@implementation TLUserDetailBaseInfoCell
|
||
|
||
+ (CGFloat)viewHeightByDataModel:(id)dataModel
|
||
{
|
||
return 90.0f;
|
||
}
|
||
|
||
- (void)setViewDataModel:(id)dataModel
|
||
{
|
||
[self setUserModel:dataModel];
|
||
}
|
||
|
||
- (void)setViewEventAction:(id (^)(NSInteger, id))eventAction
|
||
{
|
||
self.eventAction = eventAction;
|
||
}
|
||
|
||
- (void)viewIndexPath:(NSIndexPath *)indexPath sectionItemCount:(NSInteger)count
|
||
{
|
||
if (indexPath.row == 0) {
|
||
self.addSeparator(ZZSeparatorPositionTop);
|
||
}
|
||
|
||
if (indexPath.row == count - 1) {
|
||
self.addSeparator(ZZSeparatorPositionBottom);
|
||
}
|
||
else {
|
||
self.addSeparator(ZZSeparatorPositionBottom).beginAt(15);
|
||
}
|
||
}
|
||
|
||
- (id)initWithFrame:(CGRect)frame
|
||
{
|
||
if (self = [super initWithFrame:frame]) {
|
||
[self setBackgroundColor:[UIColor whiteColor]];
|
||
|
||
[self p_initUI];
|
||
}
|
||
return self;
|
||
}
|
||
|
||
- (void)setUserModel:(TLUser *)userModel
|
||
{
|
||
_userModel = userModel;
|
||
if (userModel.avatarPath) {
|
||
[self.avatarView setImage:[UIImage imageNamed:userModel.avatarPath] forState:UIControlStateNormal];
|
||
}
|
||
else{
|
||
[self.avatarView tt_setImageWithURL:TLURL(userModel.avatarURL) forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:DEFAULT_AVATAR_PATH]];
|
||
}
|
||
[self.shownameLabel setText:userModel.showName];
|
||
if (userModel.username.length > 0) {
|
||
[self.usernameLabel setText:[NSString stringWithFormat:@"%@:%@", LOCSTR(@"微信号"), userModel.username]];
|
||
if (userModel.nikeName.length > 0) {
|
||
[self.nikenameLabel setText:[NSString stringWithFormat:@"%@:%@", LOCSTR(@"昵称"), userModel.nikeName]];
|
||
}
|
||
}
|
||
else if (userModel.nikeName.length > 0){
|
||
[self.nikenameLabel setText:[NSString stringWithFormat:@"%@:%@", LOCSTR(@"昵称"), userModel.nikeName]];
|
||
}
|
||
}
|
||
|
||
#pragma mark - # UI
|
||
- (void)p_initUI
|
||
{
|
||
@weakify(self);
|
||
|
||
// 头像
|
||
self.avatarView = self.contentView.addButton(1)
|
||
.cornerRadius(5)
|
||
.eventBlock(UIControlEventTouchUpInside, ^(UIButton *sender) {
|
||
@strongify(self);
|
||
if (self.eventAction) {
|
||
self.eventAction(0, self.userModel);
|
||
}
|
||
})
|
||
.masonry(^ (MASConstraintMaker *make) {
|
||
make.left.mas_equalTo(14);
|
||
make.top.mas_equalTo(12);
|
||
make.bottom.mas_equalTo(-12);
|
||
})
|
||
.view;
|
||
|
||
[self.avatarView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||
make.width.mas_equalTo(self.avatarView.mas_height);
|
||
}];
|
||
|
||
// 用户昵称
|
||
self.shownameLabel = self.contentView.addLabel(2)
|
||
.font([UIFont systemFontOfSize:17.0f])
|
||
.masonry(^ (MASConstraintMaker *make) {
|
||
make.left.mas_equalTo(self.avatarView.mas_right).mas_offset(MINE_SPACE_Y);
|
||
make.top.mas_equalTo(self.avatarView.mas_top).mas_offset(3);
|
||
})
|
||
.view;
|
||
[self.shownameLabel setContentCompressionResistancePriority:100 forAxis:UILayoutConstraintAxisHorizontal];
|
||
|
||
// 用户名
|
||
self.usernameLabel = self.contentView.addLabel(3)
|
||
.font([UIFont systemFontOfSize:14.0f])
|
||
.textColor([UIColor grayColor])
|
||
.masonry(^ (MASConstraintMaker *make) {
|
||
make.left.mas_equalTo(self.shownameLabel);
|
||
make.top.mas_equalTo(self.shownameLabel.mas_bottom).mas_offset(5);
|
||
})
|
||
.view;
|
||
|
||
// 昵称
|
||
self.nikenameLabel = self.contentView.addLabel(4)
|
||
.textColor([UIColor grayColor])
|
||
.font([UIFont systemFontOfSize:14.0f])
|
||
.masonry(^ (MASConstraintMaker *make) {
|
||
make.left.mas_equalTo(self.shownameLabel);
|
||
make.top.mas_equalTo(self.usernameLabel.mas_bottom).mas_offset(3);
|
||
})
|
||
.view;
|
||
}
|
||
|
||
@end
|