优化 UIImage+Utils.m 中的灰度图像处理逻辑,调整 MedalsLevelIndicatorView.m 中的图片视图约束和间距,更新图像加载逻辑以使用裁剪后的图像,保持代码结构一致性。
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user