优化 UIImage+Utils.m 中的灰度图像处理逻辑,调整 MedalsLevelIndicatorView.m 中的图片视图约束和间距,更新图像加载逻辑以使用裁剪后的图像,保持代码结构一致性。
This commit is contained in:
@@ -23,8 +23,9 @@
|
|||||||
8,
|
8,
|
||||||
0,
|
0,
|
||||||
colorSpace,
|
colorSpace,
|
||||||
kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast);
|
kCGImageAlphaNone);
|
||||||
CGColorSpaceRelease(colorSpace);
|
// kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast);
|
||||||
|
|
||||||
|
|
||||||
if (context == NULL) {
|
if (context == NULL) {
|
||||||
return nil;
|
return nil;
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
UIImage *grayscaleImage = [UIImage imageWithCGImage:imageRef];
|
UIImage *grayscaleImage = [UIImage imageWithCGImage:imageRef];
|
||||||
CGImageRelease(imageRef);
|
CGImageRelease(imageRef);
|
||||||
CGContextRelease(context);
|
CGContextRelease(context);
|
||||||
|
CGColorSpaceRelease(colorSpace);
|
||||||
|
|
||||||
return grayscaleImage;
|
return grayscaleImage;
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,8 @@
|
|||||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
|
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
|
||||||
- (void)setImageUrl:(NSString *)imageUrl;
|
- (void)setImageUrl:(NSString *)imageUrl;
|
||||||
|
|
||||||
|
//- (void)
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation LevelItemView
|
@implementation LevelItemView
|
||||||
@@ -70,14 +72,13 @@
|
|||||||
// 创建图片视图
|
// 创建图片视图
|
||||||
_imageView = [[NetImageView alloc] init];
|
_imageView = [[NetImageView alloc] init];
|
||||||
_imageView.contentMode = UIViewContentModeScaleAspectFill;
|
_imageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
_imageView.layer.cornerRadius = 15;
|
|
||||||
_imageView.clipsToBounds = YES;
|
_imageView.clipsToBounds = YES;
|
||||||
[self addSubview:_imageView];
|
[self addSubview:_imageView];
|
||||||
|
|
||||||
[_imageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[_imageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.centerX.mas_equalTo(self);
|
make.centerX.mas_equalTo(self);
|
||||||
make.bottom.mas_equalTo(_dotView.mas_top).offset(-4);
|
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) {
|
[_imageView loadImageWithUrl:imageUrl completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
|
||||||
@kStrongify(self);
|
@kStrongify(self);
|
||||||
if (image) {
|
if (image) {
|
||||||
self.originalImage = image;
|
UIImage *cutImage = [image cutImage:CGSizeMake(40, 40)];
|
||||||
self.grayImage = [image grayscaleImage];
|
self.originalImage = cutImage;
|
||||||
|
self.grayImage = [cutImage grayscaleImage];
|
||||||
[self updateImageEffect];
|
[self updateImageEffect];
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
@@ -117,10 +119,10 @@
|
|||||||
|
|
||||||
if (_isSelected && _originalImage) {
|
if (_isSelected && _originalImage) {
|
||||||
// 选中状态:显示彩色图片
|
// 选中状态:显示彩色图片
|
||||||
_imageView.image = _originalImage;
|
self.imageView.image = _originalImage;
|
||||||
} else if (!_isSelected && _grayImage) {
|
} else if (!_isSelected && _grayImage) {
|
||||||
// 非选中状态:显示灰度图片
|
// 非选中状态:显示灰度图片
|
||||||
_imageView.image = _grayImage;
|
self.imageView.image = _grayImage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,7 +202,7 @@
|
|||||||
|
|
||||||
// 创建新的等级指示器
|
// 创建新的等级指示器
|
||||||
CGFloat itemWidth = 25.0; // 每个等级指示器的宽度
|
CGFloat itemWidth = 25.0; // 每个等级指示器的宽度
|
||||||
CGFloat spacing = 15.0; // 等级指示器之间的间距
|
CGFloat spacing = 35.0; // 等级指示器之间的间距
|
||||||
CGFloat totalWidth = itemWidth * maxLevel + spacing * (maxLevel - 1);
|
CGFloat totalWidth = itemWidth * maxLevel + spacing * (maxLevel - 1);
|
||||||
CGFloat startX = (self.bounds.size.width - totalWidth) / 2;
|
CGFloat startX = (self.bounds.size.width - totalWidth) / 2;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user