This commit is contained in:
2025-11-07 19:33:54 +08:00
parent c3acc11f6a
commit 450798c8bd
2 changed files with 71 additions and 93 deletions

View File

@@ -21,8 +21,6 @@
/// ///
@property (nonatomic, strong) UIImageView *personImageView; @property (nonatomic, strong) UIImageView *personImageView;
@property (nonatomic, strong) UIImageView *leftImageView;
@property (nonatomic, strong) UIImageView *rightImageView;
@property (nonatomic, strong) UIImageView *leftBgImageView; @property (nonatomic, strong) UIImageView *leftBgImageView;
@property (nonatomic, strong) UIImageView *rightBgImageView; @property (nonatomic, strong) UIImageView *rightBgImageView;
@@ -173,7 +171,7 @@
[self.bigWhiteContentView addSubview:self.secWhiteContentView]; [self.bigWhiteContentView addSubview:self.secWhiteContentView];
[self.secWhiteContentView mas_makeConstraints:^(MASConstraintMaker *make) { [self.secWhiteContentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self).inset(0); make.left.right.equalTo(self).inset(0);
make.top.equalTo(self.bigWhiteContentView).offset(47); make.top.equalTo(self.bigWhiteContentView).offset(40);
make.bottom.equalTo(self.bigWhiteContentView); make.bottom.equalTo(self.bigWhiteContentView);
}]; }];
@@ -184,19 +182,26 @@
make.left.right.top.equalTo(self.secWhiteContentView); make.left.right.top.equalTo(self.secWhiteContentView);
make.bottom.equalTo(self.secWhiteContentView); make.bottom.equalTo(self.secWhiteContentView);
}]; }];
// [self.rightBgImageView mas_makeConstraints:^(MASConstraintMaker *make) { [self.rightBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.right.top.equalTo(self.secWhiteContentView); make.left.right.top.equalTo(self.secWhiteContentView);
// make.bottom.equalTo(self.secWhiteContentView); make.bottom.equalTo(self.secWhiteContentView);
// }]; }];
// //
[self.secWhiteContentView addSubview:self.topBar]; [self.secWhiteContentView addSubview:self.topBar];
[self.secWhiteContentView addSubview:self.containerView]; [self.secWhiteContentView addSubview:self.containerView];
// topBar topBar // z
[self.secWhiteContentView insertSubview:self.personImageView belowSubview:self.topBar]; [self.secWhiteContentView insertSubview:self.personImageView belowSubview:self.leftBgImageView];
[self.secWhiteContentView insertSubview:self.hgImageView belowSubview:self.topBar]; [self.secWhiteContentView insertSubview:self.hgImageView belowSubview:self.rightBgImageView];
// zPosition < / < <
self.leftBgImageView.layer.zPosition = 0;
self.rightBgImageView.layer.zPosition = 0;
self.personImageView.layer.zPosition = 1;
self.hgImageView.layer.zPosition = 1;
self.topBar.layer.zPosition = 3;
// [self.topBar addSubview:self.leftImageView]; // [self.topBar addSubview:self.leftImageView];
// [self.topBar addSubview:self.rightImageView]; // [self.topBar addSubview:self.rightImageView];
@@ -233,18 +238,6 @@
make.height.mas_equalTo(54); make.height.mas_equalTo(54);
}]; }];
// [self.leftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.right.equalTo(self.topBar);
// make.top.equalTo(self.topBar);
// make.height.mas_equalTo(54);
// }];
// [self.rightImageView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.right.equalTo(self.topBar);
// make.top.equalTo(self.topBar);
// make.height.equalTo(self.leftImageView);
//
// }];
[self.hotButton mas_makeConstraints:^(MASConstraintMaker *make) { [self.hotButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.topBar).offset(3); make.centerY.equalTo(self.topBar).offset(3);
make.left.equalTo(self.topBar); make.left.equalTo(self.topBar);
@@ -273,16 +266,16 @@
[self.personImageView mas_makeConstraints:^(MASConstraintMaker *make) { [self.personImageView mas_makeConstraints:^(MASConstraintMaker *make) {
// //
make.left.equalTo(self).offset(46); make.left.equalTo(self).offset(46);
make.bottom.equalTo(self.topBar.mas_top).offset(22); make.bottom.equalTo(self.topBar.mas_top).offset(20);
make.width.mas_equalTo(70); make.width.mas_equalTo(53);
make.height.mas_equalTo(107); make.height.mas_equalTo(81);
}]; }];
[self.hgImageView mas_makeConstraints:^(MASConstraintMaker *make) { [self.hgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self).offset(-38); make.right.equalTo(self).offset(-38);
make.bottom.equalTo(self.topBar.mas_top).offset(12); make.bottom.equalTo(self.topBar.mas_top).offset(16);
make.width.mas_equalTo(97); make.width.mas_equalTo(82);
make.height.mas_equalTo(78); make.height.mas_equalTo(66);
}]; }];
} }
@@ -348,11 +341,24 @@
make.width.mas_equalTo(78); make.width.mas_equalTo(78);
}]; }];
if (index == 0) { if (index == 0) {
self.leftImageView.hidden = false; self.leftBgImageView.hidden = NO;
self.rightImageView.hidden = true; self.rightBgImageView.hidden = YES;
self.personImageView.hidden = YES;
self.hgImageView.hidden = NO;
} else { } else {
self.leftImageView.hidden = true; self.leftBgImageView.hidden = YES;
self.rightImageView.hidden = false; self.rightBgImageView.hidden = NO;
self.personImageView.hidden = NO;
self.hgImageView.hidden = YES;
}
//
UIView *visibleBg = self.rightBgImageView.hidden ? self.leftBgImageView : self.rightBgImageView;
if (!self.hgImageView.hidden) {
[self.secWhiteContentView insertSubview:self.hgImageView belowSubview:visibleBg];
}
if (!self.personImageView.hidden) {
[self.secWhiteContentView insertSubview:self.personImageView belowSubview:visibleBg];
} }
if (animated) { if (animated) {
@@ -382,25 +388,6 @@
return _secWhiteContentView; return _secWhiteContentView;
} }
- (UIImageView *)leftImageView{
if (!_leftImageView) {
_leftImageView = [[UIImageView alloc] init];
_leftImageView.image = [UIImage imageNamed:@"home_left_image"];
_leftImageView.contentMode = UIViewContentModeScaleToFill;
}
return _leftImageView;
}
- (UIImageView *)rightImageView{
if (!_rightImageView) {
_rightImageView = [[UIImageView alloc] init];
_rightImageView.image = [UIImage imageNamed:@"home_right_image"];
_rightImageView.contentMode = UIViewContentModeScaleAspectFit;
_rightImageView.hidden = true;
}
return _rightImageView;
}
- (UIImageView *)hgImageView{ - (UIImageView *)hgImageView{
if (!_hgImageView) { if (!_hgImageView) {
_hgImageView = [[UIImageView alloc] init]; _hgImageView = [[UIImageView alloc] init];

View File

@@ -9,9 +9,7 @@
/// ///
@property (nonatomic, strong) UIView *avatarCircleView; @property (nonatomic, strong) UIView *avatarCircleView;
/// ///
@property (nonatomic, strong) UIView *cardView; @property (nonatomic, strong) UIImageView *cardImageView;
/// 1/2/3
@property (nonatomic, strong) UILabel *medalLabel;
/// ///
@property (nonatomic, strong) UILabel *titleLabel; @property (nonatomic, strong) UILabel *titleLabel;
/// ///
@@ -32,11 +30,10 @@
- (void)setupUI { - (void)setupUI {
// //
[self addSubview:self.cardView]; [self addSubview:self.cardImageView];
// //
[self addSubview:self.avatarCircleView]; [self addSubview:self.avatarCircleView];
[self.cardView addSubview:self.medalLabel]; [self.cardImageView addSubview:self.titleLabel];
[self.cardView addSubview:self.titleLabel];
// //
[self addSubview:self.plusButton]; [self addSubview:self.plusButton];
@@ -47,25 +44,21 @@
make.width.height.mas_equalTo(68); make.width.height.mas_equalTo(68);
}]; }];
[self.cardView mas_makeConstraints:^(MASConstraintMaker *make) { [self.cardImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.avatarCircleView.mas_bottom).offset(-34); // make.top.equalTo(self.avatarCircleView.mas_bottom).offset(-34); //
make.left.right.equalTo(self); make.left.right.equalTo(self);
make.height.mas_equalTo(146); make.height.mas_equalTo(148);
}]; }];
[self.medalLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.cardView).offset(34 + 15);
make.centerX.equalTo(self.cardView);
make.width.height.mas_equalTo(28);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.cardView); make.centerX.equalTo(self.cardImageView);
make.top.equalTo(self.medalLabel.mas_bottom).offset(20); make.top.equalTo(self.cardImageView).offset(84);
}]; }];
[self.plusButton mas_makeConstraints:^(MASConstraintMaker *make) { [self.plusButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.cardView.mas_bottom).offset(12); make.top.equalTo(self.cardImageView.mas_bottom).offset(12);
make.centerX.equalTo(self); make.centerX.equalTo(self);
make.width.mas_equalTo(52); make.width.mas_equalTo(52);
make.height.mas_equalTo(28); make.height.mas_equalTo(28);
@@ -75,16 +68,29 @@
- (void)renderWithTitle:(NSString *)title rank:(NSInteger)rank { - (void)renderWithTitle:(NSString *)title rank:(NSInteger)rank {
self.titleLabel.text = title.length ? title : @""; self.titleLabel.text = title.length ? title : @"";
self.medalLabel.text = [NSString stringWithFormat:@"%ld", (long)rank];
// //
UIColor *theme; UIColor *theme;
UIImage *image;
switch (rank) { switch (rank) {
case 1: theme = [UIColor colorWithRed:1.00 green:0.86 blue:0.43 alpha:1.0]; break; // case 1:
case 2: theme = [UIColor colorWithRed:0.68 green:0.80 blue:1.00 alpha:1.0]; break; // {
default: theme = [UIColor colorWithRed:1.00 green:0.78 blue:0.63 alpha:1.0]; break; // theme = [UIColor colorWithRed:1.00 green:0.86 blue:0.43 alpha:1.0];
image = [UIImage imageNamed:@"home_rank_1"];
} }
self.cardView.backgroundColor = theme; break; //
case 2: {
theme = [UIColor colorWithRed:0.68 green:0.80 blue:1.00 alpha:1.0];
image = [UIImage imageNamed:@"home_rank_2"];
}
break; //
default: {
theme = [UIColor colorWithRed:1.00 green:0.78 blue:0.63 alpha:1.0];
image = [UIImage imageNamed:@"home_rank_3"];
} break; //
}
self.cardImageView.image = image;
self.plusButton.backgroundColor = [theme colorWithAlphaComponent:0.3]; self.plusButton.backgroundColor = [theme colorWithAlphaComponent:0.3];
// //
@@ -105,28 +111,13 @@
return _avatarCircleView; return _avatarCircleView;
} }
- (UIView *)cardView { - (UIImageView *)cardImageView {
if (!_cardView) { if (!_cardImageView) {
_cardView = [[UIView alloc] init]; _cardImageView = [[UIImageView alloc] init];
_cardView.layer.cornerRadius = 14.0;
_cardView.layer.masksToBounds = YES;
_cardView.backgroundColor = [UIColor colorWithWhite:0.95 alpha:1];
} }
return _cardView; return _cardImageView;
} }
- (UILabel *)medalLabel {
if (!_medalLabel) {
_medalLabel = [[UILabel alloc] init];
_medalLabel.textAlignment = NSTextAlignmentCenter;
_medalLabel.font = [UIFont boldSystemFontOfSize:15];
_medalLabel.textColor = [UIColor whiteColor];
_medalLabel.backgroundColor = [UIColor colorWithWhite:0.3 alpha:0.7];
_medalLabel.layer.cornerRadius = 14;
_medalLabel.layer.masksToBounds = YES;
}
return _medalLabel;
}
- (UILabel *)titleLabel { - (UILabel *)titleLabel {
if (!_titleLabel) { if (!_titleLabel) {
@@ -163,7 +154,7 @@
- (instancetype)initWithFrame:(CGRect)frame { - (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) { if (self = [super initWithFrame:frame]) {
self.backgroundColor = [UIColor colorWithWhite:0.98 alpha:1]; self.backgroundColor = [UIColor whiteColor];
[self setupUI]; [self setupUI];
} }
return self; return self;