更新 MedalsViewController.m,调整背景约束和底部勋章列表高度以适应不同显示类型,优化底部背景图像的拉伸处理,保持代码结构一致性。

This commit is contained in:
edwinQQQ
2025-06-23 18:57:05 +08:00
parent 286e68b5e3
commit 6d0122f3d1

View File

@@ -277,7 +277,7 @@ typedef enum : NSInteger {
if (self.displayType == MedalsCenterDisplayType_Other) {
[bottomBg mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.leading.trailing.mas_equalTo(self.view);
make.top.mas_equalTo(self.view).offset(66 + 98 + 44 + kSafeAreaTopHeight);
make.top.mas_equalTo(self.view).offset(66 + 98 + 44 + kSafeAreaTopHeight + 20);
}];
} else {
UIImageView *topBg = [self topBG];
@@ -354,7 +354,6 @@ typedef enum : NSInteger {
make.top.mas_equalTo(self.otherBG.mas_bottom).offset(18);
} else {
make.top.mas_equalTo(kGetScaleWidth(314));
// make.bottom.mas_equalTo(kGetScaleWidth(-445));
}
make.height.mas_equalTo(44);
make.leading.trailing.mas_equalTo(self.view);
@@ -437,7 +436,11 @@ typedef enum : NSInteger {
[self.medalsCollectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.view);
make.trailing.leading.mas_equalTo(self.view).inset(26);
make.height.mas_equalTo(kGetScaleWidth(380));
if (self.displayType == MedalsCenterDisplayType_Other) {
make.height.mas_equalTo(kGetScaleWidth(500));
} else {
make.height.mas_equalTo(kGetScaleWidth(380));
}
}];
//
@@ -906,8 +909,19 @@ typedef enum : NSInteger {
}
- (UIImageView *)bottomBG {
UIImageView *iv = [[UIImageView alloc] initWithImage:kImage(@"medals_bottom_bg")];
iv.contentMode = UIViewContentModeScaleAspectFit;
UIImage *originalImage = kImage(@"medals_bottom_bg");
//
//
CGFloat imageHeight = originalImage.size.height;
CGFloat stretchableTopInset = imageHeight * 0.5; //
CGFloat stretchableBottomInset = 1; // 1
UIImage *stretchableImage = [originalImage resizableImageWithCapInsets:UIEdgeInsetsMake(stretchableTopInset, 0, stretchableBottomInset, 0)
resizingMode:UIImageResizingModeStretch];
UIImageView *iv = [[UIImageView alloc] initWithImage:stretchableImage];
iv.contentMode = UIViewContentModeScaleToFill; // 使ScaleToFill
return iv;
}