Files
peko-ios/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineUserInfoGiftWallCollectionViewCell.m

161 lines
5.4 KiB
Objective-C

//
// XPMineUserInfoGiftWallCollectionViewCell.m
// xplan-ios
//
// Created by 冯硕 on 2022/4/14.
//
#import "XPMineUserInfoGiftWallCollectionViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "UIView+Corner.h"
///Model
#import "UserGiftWallInfoModel.h"
@interface XPMineUserInfoGiftWallCollectionViewCell ()
///背景
@property (nonatomic,strong) UIView *bgView;
///排名
@property (nonatomic,strong) UIImageView *levelImageView;
///礼物头像
@property (nonatomic,strong) NetImageView *giftImageView;
///礼物个数
@property (nonatomic,strong) UILabel *giftNumberLabel;
@property (nonatomic,strong) UILabel *priceView;
@end
@implementation XPMineUserInfoGiftWallCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.bgView];
[self.bgView addSubview:self.giftImageView];
[self.bgView addSubview:self.priceView];
[self.bgView addSubview:self.giftNumberLabel];
[self.bgView addSubview:self.levelImageView];
}
- (void)initSubViewConstraints {
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(kGetScaleWidth(60.16), kGetScaleWidth(55.58)));
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(kGetScaleWidth(5));
}];
[self.giftNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.giftImageView.mas_bottom).offset(kGetScaleWidth(5));
make.height.mas_equalTo(kGetScaleWidth(14));
}];
[self.priceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgView);
make.top.equalTo(self.giftNumberLabel.mas_bottom).mas_offset(kGetScaleWidth(5));
make.leading.trailing.equalTo(self.bgView).inset(kGetScaleWidth(0));
}];
[self.levelImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.top.mas_equalTo(kGetScaleWidth(3));
make.width.height.mas_equalTo(kGetScaleWidth(19));
}];
}
#pragma mark - Getters And Setters
-(void)setLevel:(int)level{
self.levelImageView.hidden = YES;
if(level == 1){
self.levelImageView.hidden = NO;
_levelImageView.image = [UIImage imageNamed:@"gift_list_one"];
}else if(level == 2){
self.levelImageView.hidden = NO;
_levelImageView.image = [UIImage imageNamed:@"gift_list_two"];
}else if(level == 3){
self.levelImageView.hidden = NO;
_levelImageView.image = [UIImage imageNamed:@"gift_list_three"];
}else{
self.levelImageView.hidden = YES;
}
}
- (void)setGiftInfo:(UserGiftWallInfoModel *)giftInfo {
_giftInfo = giftInfo;
if (_giftInfo) {
_giftImageView.imageUrl = _giftInfo.picUrl;
_giftNumberLabel.text = [NSString stringWithFormat:@"X%ld", _giftInfo.reciveCount];
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@" %ld",_giftInfo.giftPrice] attributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x6D6B89)}];
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
attachment.bounds = CGRectMake(0, roundf(_priceView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
attachment.image = iconImage;
[textAtt insertAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment] atIndex:0];
_priceView.attributedText = textAtt;
}
}
- (NetImageView *)giftImageView {
if (!_giftImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftImageView = [[NetImageView alloc] initWithConfig:config];
}
return _giftImageView;
}
- (UILabel *)giftNumberLabel {
if (!_giftNumberLabel) {
_giftNumberLabel = [[UILabel alloc] init];
_giftNumberLabel.font = [UIFont systemFontOfSize:kGetScaleWidth(10) weight:UIFontWeightRegular];
_giftNumberLabel.textColor = UIColorFromRGB(0x6D6B89);
_giftNumberLabel.textAlignment = NSTextAlignmentCenter;
}
return _giftNumberLabel;
}
- (UIView *)bgView{
if (!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = UIColorFromRGB(0xF3F5FA);
_bgView.layer.cornerRadius = kGetScaleWidth(8);
_bgView.layer.masksToBounds = YES;
}
return _bgView;
}
- (UIImageView *)levelImageView{
if (!_levelImageView){
_levelImageView = [UIImageView new];
_levelImageView.hidden = NO;
}
return _levelImageView;
}
- (UILabel *)priceView{
if (!_priceView){
_priceView = [UILabel new];
_priceView.textAlignment = NSTextAlignmentCenter;
_priceView.font = [UIFont systemFontOfSize:kGetScaleWidth(10) weight:UIFontWeightRegular];
}
return _priceView;
}
@end