From c978a8c3550944266c6c12f3f3149381dccca15a Mon Sep 17 00:00:00 2001 From: edwinQQQ Date: Thu, 19 Jun 2025 11:28:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20UIImage+Utils.m=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E7=81=B0=E5=BA=A6=E5=9B=BE=E5=83=8F=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C=E8=B0=83=E6=95=B4=20Medals?= =?UTF-8?q?LevelIndicatorView.m=20=E4=B8=AD=E7=9A=84=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E7=BA=A6=E6=9D=9F=E5=92=8C=E9=97=B4=E8=B7=9D?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=96=B0=E5=9B=BE=E5=83=8F=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BB=A5=E4=BD=BF=E7=94=A8=E8=A3=81=E5=89=AA?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E5=9B=BE=E5=83=8F=EF=BC=8C=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=E4=B8=80=E8=87=B4=E6=80=A7?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi/CustomUI/UIImage/UIImage+Utils.m | 6 ++++-- .../View/Medals/MedalsLevelIndicatorView.m | 16 +++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/YuMi/CustomUI/UIImage/UIImage+Utils.m b/YuMi/CustomUI/UIImage/UIImage+Utils.m index d1b9b68e..fc4c3194 100644 --- a/YuMi/CustomUI/UIImage/UIImage+Utils.m +++ b/YuMi/CustomUI/UIImage/UIImage+Utils.m @@ -23,8 +23,9 @@ 8, 0, colorSpace, - kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast); - CGColorSpaceRelease(colorSpace); + kCGImageAlphaNone); +// kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast); + if (context == NULL) { return nil; @@ -35,6 +36,7 @@ UIImage *grayscaleImage = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); CGContextRelease(context); + CGColorSpaceRelease(colorSpace); return grayscaleImage; } diff --git a/YuMi/Modules/YMMine/View/Medals/MedalsLevelIndicatorView.m b/YuMi/Modules/YMMine/View/Medals/MedalsLevelIndicatorView.m index e34c450e..c1d8a9ad 100644 --- a/YuMi/Modules/YMMine/View/Medals/MedalsLevelIndicatorView.m +++ b/YuMi/Modules/YMMine/View/Medals/MedalsLevelIndicatorView.m @@ -24,6 +24,8 @@ - (void)setSelected:(BOOL)selected animated:(BOOL)animated; - (void)setImageUrl:(NSString *)imageUrl; +//- (void) + @end @implementation LevelItemView @@ -70,14 +72,13 @@ // 创建图片视图 _imageView = [[NetImageView alloc] init]; _imageView.contentMode = UIViewContentModeScaleAspectFill; - _imageView.layer.cornerRadius = 15; _imageView.clipsToBounds = YES; [self addSubview:_imageView]; [_imageView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self); make.bottom.mas_equalTo(_dotView.mas_top).offset(-4); - make.width.height.mas_equalTo(30); + make.width.height.mas_equalTo(40); }]; // 调整圆点位置 @@ -102,8 +103,9 @@ [_imageView loadImageWithUrl:imageUrl completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) { @kStrongify(self); if (image) { - self.originalImage = image; - self.grayImage = [image grayscaleImage]; + UIImage *cutImage = [image cutImage:CGSizeMake(40, 40)]; + self.originalImage = cutImage; + self.grayImage = [cutImage grayscaleImage]; [self updateImageEffect]; } }]; @@ -117,10 +119,10 @@ if (_isSelected && _originalImage) { // 选中状态:显示彩色图片 - _imageView.image = _originalImage; + self.imageView.image = _originalImage; } else if (!_isSelected && _grayImage) { // 非选中状态:显示灰度图片 - _imageView.image = _grayImage; + self.imageView.image = _grayImage; } } @@ -200,7 +202,7 @@ // 创建新的等级指示器 CGFloat itemWidth = 25.0; // 每个等级指示器的宽度 - CGFloat spacing = 15.0; // 等级指示器之间的间距 + CGFloat spacing = 35.0; // 等级指示器之间的间距 CGFloat totalWidth = itemWidth * maxLevel + spacing * (maxLevel - 1); CGFloat startX = (self.bounds.size.width - totalWidth) / 2;