107 lines
3.9 KiB
Objective-C
107 lines
3.9 KiB
Objective-C
//
|
|
// QXMineGiftWallCell.m
|
|
// QXLive
|
|
//
|
|
// Created by 启星 on 2025/11/5.
|
|
//
|
|
|
|
#import "QXMineGiftWallCell.h"
|
|
#import <CoreImage/CoreImage.h>
|
|
@implementation QXMineGiftWallCell
|
|
-(void)setIsLight:(BOOL)isLight{
|
|
_isLight = isLight;
|
|
self.bgImageView.image = [UIImage imageNamed:isLight?@"user_giftwall_light":@"user_giftwall_gray"];
|
|
// if (isLight) {
|
|
// self.userCountLabel.hidden = NO;
|
|
// }else{
|
|
// self.userCountLabel.hidden = YES;
|
|
// self.userImageView1.hidden = YES;
|
|
// self.userImageView2.hidden = YES;
|
|
// self.userImageView3.hidden = YES;
|
|
// }
|
|
}
|
|
|
|
|
|
- (UIImage *)convertImageToGrayWithCoreImage:(UIImage *)inputImage {
|
|
CIImage *ciImage = [[CIImage alloc] initWithImage:inputImage];
|
|
|
|
// 使用黑白滤镜
|
|
CIFilter *grayFilter = [CIFilter filterWithName:@"CIColorControls"];
|
|
[grayFilter setValue:ciImage forKey:kCIInputImageKey];
|
|
[grayFilter setValue:@(0.0) forKey:kCIInputSaturationKey]; // 饱和度设为0即为灰色
|
|
|
|
CIImage *outputImage = [grayFilter valueForKey:kCIOutputImageKey];
|
|
|
|
CIContext *context = [CIContext contextWithOptions:nil];
|
|
CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]];
|
|
|
|
UIImage *grayImage = [UIImage imageWithCGImage:cgImage];
|
|
CGImageRelease(cgImage);
|
|
|
|
return grayImage;
|
|
}
|
|
|
|
-(void)setModel:(QXUserGiftWallModel *)model{
|
|
_model = model;
|
|
self.countLabel.text = [NSString stringWithFormat:@"共计%@个",model.total_count];
|
|
[self.giftImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image] placeholderImage:nil completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
|
|
if (!self.isLight) {
|
|
image = [self convertImageToGrayWithCoreImage:image];
|
|
}
|
|
self.giftImageView.image = image;
|
|
}];
|
|
self.nameLabel.text = model.gift_name;
|
|
[self.giftCoinBtn setTitle:[NSString stringWithFormat:@" %@",model.gift_price] forState:(UIControlStateNormal)];
|
|
self.userCountLabel.text = [NSString stringWithFormat:@"等%@人",model.top_users_count];
|
|
|
|
if (model.top_users.count > 0) {
|
|
self.countLabel.hidden = NO;
|
|
self.userCountLabel.hidden = NO;
|
|
QXUserHomeModel *md1;
|
|
QXUserHomeModel *md2;
|
|
QXUserHomeModel *md3;
|
|
if (model.top_users.count >= 3){
|
|
self.userImageView1.hidden = NO;
|
|
self.userImageView2.hidden = NO;
|
|
self.userImageView3.hidden = NO;
|
|
md1 = model.top_users[0];
|
|
md2 = model.top_users[1];
|
|
md3 = model.top_users[2];
|
|
[self.userImageView1 sd_setImageWithURL:[NSURL URLWithString:md1.avatar]];
|
|
[self.userImageView2 sd_setImageWithURL:[NSURL URLWithString:md2.avatar]];
|
|
[self.userImageView3 sd_setImageWithURL:[NSURL URLWithString:md3.avatar]];
|
|
return;
|
|
}else if (model.top_users.count == 2){
|
|
self.userImageView1.hidden = NO;
|
|
self.userImageView2.hidden = NO;
|
|
self.userImageView3.hidden = YES;
|
|
md1 = model.top_users[0];
|
|
md2 = model.top_users[1];
|
|
[self.userImageView1 sd_setImageWithURL:[NSURL URLWithString:md1.avatar]];
|
|
[self.userImageView2 sd_setImageWithURL:[NSURL URLWithString:md2.avatar]];
|
|
return;
|
|
}else{
|
|
self.userImageView1.hidden = NO;
|
|
self.userImageView2.hidden = YES;
|
|
self.userImageView3.hidden = YES;
|
|
md1 = model.top_users[0];
|
|
[self.userImageView1 sd_setImageWithURL:[NSURL URLWithString:md1.avatar]];
|
|
}
|
|
|
|
}else{
|
|
self.countLabel.hidden = YES;
|
|
self.userCountLabel.hidden = YES;
|
|
self.userImageView1.hidden = YES;
|
|
self.userImageView2.hidden = YES;
|
|
self.userImageView3.hidden = YES;
|
|
}
|
|
|
|
|
|
}
|
|
- (void)awakeFromNib {
|
|
[super awakeFromNib];
|
|
// Initialization code
|
|
}
|
|
|
|
@end
|