修改用户名UI
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
@property (nonatomic, strong) UIImageView *cardRight;
|
||||
@property (nonatomic, strong) UIImageView *avatarEditIcon; // 头像右下角的编辑图标
|
||||
@property (nonatomic, strong) KBUser *userModel;
|
||||
@property (nonatomic, assign) NSInteger kb_vipLayoutState; // -1: unknown, 0: non-vip, 1: vip
|
||||
//@property (nonatomic, strong) MASConstraint *vipIconWidthConstraint;
|
||||
//@property (nonatomic, strong) MASConstraint *nameRightToVipConstraint;
|
||||
//@property (nonatomic, strong) MASConstraint *nameRightToSuperviewConstraint;
|
||||
@@ -34,6 +35,7 @@
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
if (self = [super initWithFrame:frame]) {
|
||||
self.kb_vipLayoutState = -1;
|
||||
self.backgroundColor = [UIColor clearColor]; // 透明,露出底部背景图
|
||||
|
||||
[self addSubview:self.titleLabel];
|
||||
@@ -131,11 +133,54 @@
|
||||
[self.avatarView kb_setAvatarURL:user.avatarUrl placeholder:KBAvatarPlaceholderImage];
|
||||
|
||||
BOOL isVip = user.isVip;
|
||||
[self kb_applyVipLayout:isVip];
|
||||
self.vipIconView.hidden = !isVip;
|
||||
self.vipExpiryLabel.hidden = !isVip;
|
||||
self.vipExpiryLabel.text = isVip ? [self vipExpiryDisplayTextFrom:user.vipExpiry] : nil;
|
||||
}
|
||||
|
||||
- (void)kb_applyVipLayout:(BOOL)isVip {
|
||||
NSInteger state = isVip ? 1 : 0;
|
||||
if (self.kb_vipLayoutState == state) { return; }
|
||||
self.kb_vipLayoutState = state;
|
||||
|
||||
if (isVip) {
|
||||
[self.nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(self.avatarView.mas_right).offset(10);
|
||||
make.bottom.equalTo(self.avatarView.mas_centerY).offset(-4);
|
||||
}];
|
||||
[self.vipIconView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.equalTo(self.nameLabel);
|
||||
make.left.equalTo(self.nameLabel.mas_right).offset(10);
|
||||
make.right.lessThanOrEqualTo(self).offset(-16);
|
||||
make.width.mas_equalTo(51);
|
||||
make.height.mas_equalTo(20);
|
||||
}];
|
||||
[self.vipExpiryLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.avatarView.mas_centerY).offset(4);
|
||||
make.left.equalTo(self.nameLabel);
|
||||
make.right.lessThanOrEqualTo(self).offset(-16);
|
||||
}];
|
||||
return;
|
||||
}
|
||||
|
||||
[self.nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(self.avatarView.mas_right).offset(10);
|
||||
make.centerY.equalTo(self.avatarView);
|
||||
make.right.lessThanOrEqualTo(self).offset(-16);
|
||||
}];
|
||||
[self.vipIconView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(self.nameLabel.mas_right);
|
||||
make.centerY.equalTo(self.nameLabel);
|
||||
make.width.height.mas_equalTo(0);
|
||||
}];
|
||||
[self.vipExpiryLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.nameLabel.mas_bottom);
|
||||
make.left.equalTo(self.nameLabel);
|
||||
make.width.height.mas_equalTo(0);
|
||||
}];
|
||||
}
|
||||
|
||||
- (NSString *)vipExpiryDisplayTextFrom:(NSString *)rawDate {
|
||||
NSString *prefix = KBLocalized(@"Due On");
|
||||
if (rawDate.length == 0) {
|
||||
@@ -254,7 +299,7 @@
|
||||
- (UILabel *)nameLabel {
|
||||
if (!_nameLabel) {
|
||||
_nameLabel = [UILabel new];
|
||||
_nameLabel.text = @"Notice";
|
||||
_nameLabel.text = @"--";
|
||||
_nameLabel.font = [KBFont medium:20];
|
||||
_nameLabel.textColor = [UIColor colorWithHex:KBBlackValue];
|
||||
_nameLabel.lineBreakMode = NSLineBreakByTruncatingTail;
|
||||
|
||||
Reference in New Issue
Block a user