优化个人资料相关 UI 显示效果

This commit is contained in:
eggmanQQQ
2024-07-30 14:43:29 +08:00
parent e48cce107a
commit dae2a03c35
2 changed files with 115 additions and 119 deletions

View File

@@ -77,9 +77,9 @@ return view;\
///id
@property (nonatomic,strong) UILabel *idLabel;
@property (nonatomic, strong) UIImageView *idIconImageView;
///
@property (nonatomic, strong) UIImageView *copyIdImageView;
@property (nonatomic, strong) UIButton *copyIdButton;
///
@property (nonatomic,strong) UIStackView *tagStackView;
///
@@ -260,6 +260,7 @@ return view;\
- (void)setupNameArea {
[self.userInfoView addSubview:self.nickStackView];
[self.nickStackView addArrangedSubview:self.nobleImageView];
[self.nickStackView addArrangedSubview:self.nameLabel];
[self.nickStackView addArrangedSubview:self.sexImageView];
@@ -271,7 +272,7 @@ return view;\
}];
[self.nobleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(20);
make.width.height.mas_equalTo(CGSizeMake(35, 25));
}];
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(14);
@@ -281,10 +282,21 @@ return view;\
- (void)setupIDArea {
[self.userInfoView addSubview:self.idStackView];
[self.idStackView addArrangedSubview:self.idLabel];
[self.idStackView addSubview:self.idIconImageView];
[self.idStackView addSubview:self.copyIdImageView];
if (isMSRTL()) {
[self.idStackView addArrangedSubview:self.copyIdImageView];
[self.idStackView addArrangedSubview:self.idLabel];
[self.idStackView addArrangedSubview:self.idIconImageView];
} else {
[self.idStackView addArrangedSubview:self.idIconImageView];
[self.idStackView addArrangedSubview:self.idLabel];
[self.idStackView addArrangedSubview:self.copyIdImageView];
}
// [self.idStackView addSubview:self.idIconImageView];
// [self.idStackView addSubview:self.copyIdImageView];
[self.idStackView insertSubview:self.beautifulImageView belowSubview:self.idLabel];
[self.idStackView addSubview:self.copyIdButton];
[self.idStackView mas_makeConstraints:^(MASConstraintMaker *make) {
if (isMSRTL()) {
@@ -293,6 +305,7 @@ return view;\
make.centerX.mas_equalTo(self.userInfoView);
}
make.top.mas_equalTo(self.nickStackView.mas_bottom).offset(6);
make.height.mas_equalTo(24);
}];
[self.beautifulImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(23.5);
@@ -302,20 +315,23 @@ return view;\
}];
[self.idIconImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(14);
make.centerY.mas_equalTo(self.idLabel);
make.right.mas_equalTo(self.idLabel.mas_left).offset(0);
}];
[self.copyIdButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.idStackView);
}];
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(14);
}];
[self.copyIdImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(13.4, 13.4));
make.centerY.mas_equalTo(self.idLabel);
if (isMSRTL()) {
make.right.mas_equalTo(self.idLabel.mas_left).offset(-24);
} else {
make.left.mas_equalTo(self.idLabel.mas_right).offset(0);
}
make.size.mas_equalTo(CGSizeMake(14, 14));
// make.centerY.mas_equalTo(self.idLabel);
// if (isMSRTL()) {
// make.right.mas_equalTo(self.idLabel.mas_left).offset(-24);
// } else {
// make.left.mas_equalTo(self.idLabel.mas_right).offset(0);
// }
}];
}
@@ -622,17 +638,12 @@ return view;\
}
}
self.nobleImageView.hidden = userInfo.userVipInfoVO.vipIcon.length == 0;
[self.nobleImageView loadImageWithUrl:userInfo.userVipInfoVO.vipIcon completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
self.nobleImageView.image = image;
CGFloat height = image.size.height > 0 ? image.size.height : 1;
CGFloat scale = image.size.width / height ;
[self.nobleImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(30* scale, 30));
}];
}];
[self layoutIfNeeded];
if (userInfo.userVipInfoVO.vipIcon.length > 0) {
self.nobleImageView.hidden = NO;
self.nobleImageView.imageUrl = userInfo.userVipInfoVO.vipIcon;
} else {
self.nobleImageView.hidden = YES;
}
}
- (void)setRoomUid:(NSString *)roomUid {
@@ -696,48 +707,48 @@ return view;\
text = [NSString stringWithFormat:@" %ld", (long)self.userInfo.erbanNo];
}
NSString *offsetSpace = @"";
if (hasBeautifulID) {
if (self.userInfo.erbanNo > 9) {
offsetSpace = @" ";
} else if (self.userInfo.erbanNo > 99) {
offsetSpace = @" ";
} else if (self.userInfo.erbanNo > 999) {
offsetSpace = @"";
}
}
self.idLabel.text = [NSString stringWithFormat:@"%@%@",offsetSpace,text];
self.beautifulImageView.hidden = !hasBeautifulID;
self.idIconImageView.hidden = hasBeautifulID;
if (hasBeautifulID) {
NSString *offsetSpace = @"";
if (hasBeautifulID) {
if (self.userInfo.erbanNo > 9) {
offsetSpace = @" ";
} else if (self.userInfo.erbanNo > 99) {
offsetSpace = @" ";
} else if (self.userInfo.erbanNo > 999) {
offsetSpace = @" ";
} else if (self.userInfo.erbanNo > 999) {
offsetSpace = @"";
}
}
self.idLabel.text = [NSString stringWithFormat:@"%@%@",offsetSpace,text];
self.idLabel.alpha = 1;
self.idLabel.textColor = [UIColor whiteColor];
if (self.userInfo.erbanNo > 999) {
UIImage *longBackgroundImage = [UIImage imageNamed:@"user_info_id_beatiful_mark"];
UIEdgeInsets capInsets = UIEdgeInsetsMake(0, 20, 0, 4);
UIImage *resizableImage = [longBackgroundImage resizableImageWithCapInsets:capInsets resizingMode:UIImageResizingModeStretch];
self.beautifulImageView.image = resizableImage;
} else {
UIImage *idMark = [UIImage imageNamed:@"user_info_id_beatiful_mark_short"];
self.beautifulImageView.image = idMark;
}
[self.copyIdImageView mas_updateConstraints:^(MASConstraintMaker *make) {
if (isMSRTL()) {
make.right.mas_equalTo(self.idLabel.mas_left).offset(-24);
} else {
make.left.mas_equalTo(self.idLabel.mas_right).offset(6);
}
UIImage *longBackgroundImage = [UIImage imageNamed:@"user_info_id_beatiful_mark_short"];
UIEdgeInsets capInsets = UIEdgeInsetsMake(0, 20, 0, 4);
UIImage *resizableImage = [longBackgroundImage resizableImageWithCapInsets:capInsets resizingMode:UIImageResizingModeStretch];
self.beautifulImageView.image = resizableImage;
[self.copyIdButton mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.right.mas_equalTo(self.idStackView);
make.left.mas_equalTo(self.idStackView).offset(-20);
}];
// [self.copyIdImageView mas_updateConstraints:^(MASConstraintMaker *make) {
// if (isMSRTL()) {
// make.right.mas_equalTo(self.idLabel.mas_left).offset(-24);
// } else {
// make.left.mas_equalTo(self.idLabel.mas_right).offset(6);
// }
// }];
} else {
self.idLabel.text = text;
self.idLabel.alpha = 0.8;
[self.copyIdImageView mas_updateConstraints:^(MASConstraintMaker *make) {
if (isMSRTL()) {
make.right.mas_equalTo(self.idLabel.mas_left).offset(-24);
} else {
make.left.mas_equalTo(self.idLabel.mas_right).offset(2);
}
}];
}
}
@@ -869,14 +880,11 @@ return view;\
if (!_idStackView) {
_idStackView = [[UIStackView alloc] init];
_idStackView.backgroundColor = [UIColor clearColor];
_idStackView.axis = UILayoutConstraintAxisHorizontal;
_idStackView.distribution = UIStackViewDistributionEqualCentering;
_idStackView.distribution = UIStackViewDistributionFill;
_idStackView.alignment = UIStackViewAlignmentCenter;
_idStackView.spacing = 5;
_idStackView.userInteractionEnabled = YES;
_idStackView.spacing = 2;
_idStackView.clipsToBounds = NO;
UITapGestureRecognizer *longPress = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(copyNameAction)];
[_idStackView addGestureRecognizer:longPress];
}
return _idStackView;
}
@@ -886,9 +894,8 @@ return view;\
_beautifulImageView = [[UIImageView alloc] init];
_beautifulImageView.userInteractionEnabled = YES;
_beautifulImageView.hidden = YES;
// _beautifulImageView.image = [UIImage getLanguageImage:@"user_info_id_beatiful_mark"];
UITapGestureRecognizer *longPress = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(copyNameAction)];
[_beautifulImageView addGestureRecognizer:longPress];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(copyNameAction)];
[_beautifulImageView addGestureRecognizer:tap];
}
return _beautifulImageView;
}
@@ -900,8 +907,6 @@ return view;\
_idLabel.textColor = UIColorFromRGB(0x191919);
_idLabel.userInteractionEnabled = YES;
_idLabel.clipsToBounds = NO;
UITapGestureRecognizer *longPress = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(copyNameAction)];
[_idLabel addGestureRecognizer:longPress];
}
return _idLabel;
}
@@ -911,8 +916,6 @@ return view;\
_idIconImageView = [[UIImageView alloc] init];
_idIconImageView.userInteractionEnabled = YES;
_idIconImageView.image = [UIImage getLanguageImage:@"user_info_id_mark"];
UITapGestureRecognizer *longPress = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(copyNameAction)];
[_idIconImageView addGestureRecognizer:longPress];
}
return _idIconImageView;
}
@@ -921,30 +924,20 @@ return view;\
if (!_copyIdImageView) {
_copyIdImageView = [[UIImageView alloc] init];
_copyIdImageView.userInteractionEnabled = YES;
_copyIdImageView.contentMode = UIViewContentModeScaleAspectFit;
_copyIdImageView.image = [UIImage getLanguageImage:@"user_card_copy_id1"];
UITapGestureRecognizer *longPress = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(copyNameAction)];
[_copyIdImageView addGestureRecognizer:longPress];
}
return _copyIdImageView;
}
//-(UIImageView *)onlineView{
// if (!_onlineView){
// _onlineView = [UIImageView new];
// UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:1 imgSize:CGSizeMake(84, 22)];
// _onlineView.image = image;
// _onlineView.userInteractionEnabled = YES;
// _onlineView.hidden = YES;
//
// }
// return _onlineView;
//}
//-(UILabel *)onlineTitleView{
// if (!_onlineTitleView){
// _onlineTitleView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineUserInfoHeaderView3") font:[UIFont systemFontOfSize:11 weight:UIFontWeightRegular] textColor:[UIColor whiteColor]];
// }
// return _onlineTitleView;
//}
- (UIButton *)copyIdButton {
if (!_copyIdButton) {
_copyIdButton = [UIButton buttonWithType:UIButtonTypeCustom];
// [_copyIdButton setImage:[UIImage getLanguageImage:@"user_card_copy_id1"] forState:UIControlStateNormal];
[_copyIdButton addTarget:self action:@selector(copyNameAction) forControlEvents:UIControlEventTouchUpInside];
}
return _copyIdButton;
}
- (SVGAImageView *)onlineIconView {
if (_onlineIconView == nil) {
@@ -1074,7 +1067,7 @@ return view;\
config.imageType = ImageTypeUserCardLevel;
_nameplateImageView = [[NetImageView alloc] initWithConfig:config];
_nameplateImageView.userInteractionEnabled = YES;
_nameplateImageView.contentMode = UIViewContentModeScaleAspectFit;
_nameplateImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _nameplateImageView;
}
@@ -1205,7 +1198,7 @@ return view;\
- (NetImageView *)nobleImageView {
if (!_nobleImageView) {
_nobleImageView = [[NetImageView alloc] init];
// _nobleImageView.backgroundColor = [UIColor purpleColor];
_nobleImageView.contentMode = UIViewContentModeScaleAspectFit;
_nobleImageView.hidden = YES;
}
return _nobleImageView;

View File

@@ -76,7 +76,7 @@
///
@property (nonatomic,strong) UIImageView *newUserImageView;
///
@property (nonatomic,strong) UIImageView *officalImageView;
@property (nonatomic,strong) UIImageView *officialImageView;
///
@property (nonatomic,strong) UIStackView *tagStackView;
///
@@ -177,7 +177,7 @@
[self.userInfoView addSubview:self.closeButton];
///
[self.tagStackView addArrangedSubview:self.newUserImageView];
[self.tagStackView addArrangedSubview:self.officalImageView];
[self.tagStackView addArrangedSubview:self.officialImageView];
[self.tagStackView addArrangedSubview:self.experImageView];
[self.tagStackView addArrangedSubview:self.charmImageView];
[self.tagStackView addArrangedSubview:self.namePlateView];
@@ -268,20 +268,21 @@
[self.nobleIconImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.headWearImageView.mas_trailing).offset(5);
make.top.mas_equalTo(self.avatarImageView);
make.height.mas_equalTo(30);
make.centerY.mas_equalTo(self.nickLabel);
make.height.mas_equalTo(20);
make.width.mas_equalTo(0);
}];
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(14, 14));
make.right.lessThanOrEqualTo(self.userInfoView.mas_right).offset(-16);
make.centerY.mas_equalTo(self.nickLabel);
}];
[self.nickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.nobleIconImageView.mas_trailing);
make.left.mas_equalTo(self.nobleIconImageView.mas_right);
make.top.mas_equalTo(self.avatarImageView);
}];
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(14, 14));
make.leading.mas_equalTo(self.nickLabel.mas_trailing).offset(4);
make.centerY.mas_equalTo(self.nickLabel);
make.right.equalTo(self.sexImageView.mas_left).offset(-8);
}];
[self.tagStackView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -318,7 +319,7 @@
make.width.height.mas_equalTo(15);
}];
[self.officalImageView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.officialImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(20);
}];
@@ -526,19 +527,19 @@
self.nobleIconImageView.imageUrl = userInfo.userVipInfoVO.vipIcon;
if (userInfo.userVipInfoVO && userInfo.userVipInfoVO.vipIcon) {//VIPicon
[self.nobleIconImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(20);
}];
[self.nickLabel mas_updateConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.nobleIconImageView.mas_trailing).mas_offset(2);
make.width.mas_equalTo(30);
}];
// [self.nickLabel mas_updateConstraints:^(MASConstraintMaker *make) {
// make.leading.mas_equalTo(self.nobleIconImageView.mas_trailing).mas_offset(2);
// }];
}
NSString * nick = userInfo.nick;
if (nick.length > 10) {
nick = [NSString stringWithFormat:@"%@…", [nick substringToIndex:10]];
}
// if (nick.length > 20) {
// nick = [NSString stringWithFormat:@"%@…", [nick substringToIndex:20]];
// }
self.nickLabel.text = nick.length > 0 ? nick : @"";
self.sexImageView.image = userInfo.gender == GenderType_Female ? [UIImage imageNamed:@"common_female"] : [UIImage imageNamed:@"common_male"];
self.officalImageView.hidden = userInfo.defUser != UserLevelType_Offical;
self.officialImageView.hidden = userInfo.defUser != UserLevelType_Offical;
self.newUserImageView.hidden = !userInfo.newUser;
if (userInfo.newUser) {
if (userInfo.fromSayHelloChannel) {
@@ -1279,6 +1280,8 @@
if (!_nickLabel) {
_nickLabel = [[UILabel alloc] init];
_nickLabel.font = [UIFont systemFontOfSize:15];
// _nickLabel.minimumScaleFactor = 0.7;
_nickLabel.lineBreakMode = NSLineBreakByTruncatingTail;
_nickLabel.textColor = [DJDKMIMOMColor userNickColor];
}
return _nickLabel;
@@ -1380,14 +1383,14 @@
return _newUserImageView;
}
- (UIImageView *)officalImageView {
if (!_officalImageView) {
_officalImageView = [[UIImageView alloc] init];
_officalImageView.userInteractionEnabled = YES;
_officalImageView.image = [UIImage imageNamed:@"common_offical"];
_officalImageView.hidden = YES;
- (UIImageView *)officialImageView {
if (!_officialImageView) {
_officialImageView = [[UIImageView alloc] init];
_officialImageView.userInteractionEnabled = YES;
_officialImageView.image = [UIImage imageNamed:@"common_offical"];
_officialImageView.hidden = YES;
}
return _officalImageView;
return _officialImageView;
}
- (UILabel *)idLabel {