// // YMMemberRenewalItemCell.m // MSYOUPAI // // Created by YoMi on 2024/2/27. // Copyright © 2024 MS. All rights reserved. // #import "YMMemberRenewalItemCell.h" #import "YMMemberRenewalItemCellViewModel.h" @interface YMMemberRenewalItemCell() /// ViewModel @property (nonatomic, strong) YMMemberRenewalItemCellViewModel *viewModel; /// 基础视图 @property (nonatomic, strong) UIView *baseView; /// 渐变视图 @property (nonatomic, strong) UIImageView *gradientView; /// 图标 @property (nonatomic, strong) UIImageView *itemIcon; /// 续费项目名称标签 @property (nonatomic, strong) UILabel *renewalItemNameLb; /// 续费项目钱符号标签 @property (nonatomic, strong) UILabel *renewalItemMoneySymbolLb; /// 续费项目金额标签 @property (nonatomic, strong) UILabel *renewalItemAmountLb; /// 续费项目原价标签 @property (nonatomic, strong) UILabel *renewalItemOriginalPriceLb; /// 节省金额标签 @property (nonatomic, strong) UILabel *amountSavingsPriceLb; /// 选中标签 @property (nonatomic, strong) UIImageView *selectedImgv; @end @implementation YMMemberRenewalItemCell - (void)setSelected:(BOOL)selected{ [super setSelected:selected]; self.gradientView.image = selected ? ImageByName(@"ym_member_center_renew_item_bg_selected") : ImageByName(@"ym_member_center_renew_item_bg_normal"); } - (void)ym_setupViews{ self.contentView.backgroundColor = UIColor.clearColor; self.backgroundColor = UIColor.clearColor; [self.contentView addSubview:self.baseView]; [self.baseView addSubview:self.gradientView]; [self.gradientView addSubview:self.itemIcon]; [self.gradientView addSubview:self.renewalItemNameLb]; [self.gradientView addSubview:self.renewalItemMoneySymbolLb]; [self.gradientView addSubview:self.renewalItemAmountLb]; [self.gradientView addSubview:self.renewalItemOriginalPriceLb]; [self.gradientView addSubview:self.amountSavingsPriceLb]; [self.gradientView addSubview:self.selectedImgv]; [self setNeedsUpdateConstraints]; [self updateConstraintsIfNeeded]; } - (void)updateConstraints { [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.contentView); make.left.equalTo(self.contentView); make.right.equalTo(self.contentView); make.bottom.equalTo(self.contentView); }]; [self.gradientView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.baseView); make.left.equalTo(self.baseView); make.right.equalTo(self.baseView); make.bottom.equalTo(self.baseView); }]; [self.renewalItemNameLb mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.gradientView).offset(adapt(20)); make.centerX.equalTo(self.gradientView).offset(adapt(11)); }]; [self.itemIcon mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self.renewalItemNameLb); make.right.equalTo(self.renewalItemNameLb.mas_left).offset(adapt(-5)); make.width.height.mas_equalTo(adapt(16)); }]; [self.renewalItemAmountLb mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.gradientView.mas_centerX); make.top.equalTo(self.renewalItemNameLb.mas_bottom).offset(adapt(5)); }]; [self.renewalItemOriginalPriceLb mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.gradientView.mas_centerX); make.top.equalTo(self.renewalItemAmountLb.mas_bottom).offset(adapt(4)); }]; [self.amountSavingsPriceLb mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.renewalItemOriginalPriceLb.mas_bottom).offset(adapt(4)); make.centerX.equalTo(self.gradientView); }]; [self.selectedImgv mas_makeConstraints:^(MASConstraintMaker *make) { make.right.bottom.equalTo(self.gradientView); make.width.height.mas_equalTo(adapt(22)); }]; [super updateConstraints]; } - (void)ym_bindViewModel:(YMMemberRenewalItemCellViewModel*)viewModel{ if (!viewModel) { return; } _viewModel = viewModel; self.renewalItemNameLb.text = self.viewModel.renewalItemName; NSString *renewalItemAmountStr = stringFormat(@"¥%ld",self.viewModel.renewalItemAmount); NSMutableAttributedString *renewalItemAmountAttributed = [[NSMutableAttributedString alloc]initWithString:renewalItemAmountStr]; renewalItemAmountAttributed.yy_font = LCBoldFont(28); renewalItemAmountAttributed.yy_color = HexColorFromRGB(0x894200); renewalItemAmountAttributed.yy_alignment = NSTextAlignmentCenter; [renewalItemAmountAttributed yy_setFont:LCBoldFont(20) range:[renewalItemAmountStr rangeOfString:@"¥"]]; self.renewalItemAmountLb.attributedText = renewalItemAmountAttributed; self.renewalItemOriginalPriceLb.attributedText = self.viewModel.renewalItemOriginalPriceAttributed; self.amountSavingsPriceLb.text = self.viewModel.amountSavingsPrice; } - (UIView *)baseView{ if (!_baseView) { _baseView = [[UIView alloc]init]; } return _baseView; } - (UIImageView *)itemIcon{ if (!_itemIcon) { _itemIcon = [[UIImageView alloc] init]; _itemIcon.image = ImageByName(@"ym_member_center_renew_item_icon"); } return _itemIcon; } - (UIImageView *)gradientView{ if (!_gradientView) { _gradientView = [[UIImageView alloc] init]; _gradientView.image = ImageByName(@"ym_member_center_renew_item_bg_normal"); _gradientView.layer.borderWidth = 1; _gradientView.layer.borderColor = [UIColor clearColor].CGColor; //_gradientView.layer.cornerRadius = adapt(10); //_gradientView.layer.masksToBounds = YES; //[_gradientView ym_setGradientBackgroundWithColors:kMainGradColors locations:kMainGradLocation startPoint:kMainGradStartP endPoint:kMainGradEndP]; } return _gradientView; } - (UILabel *)renewalItemNameLb{ if (!_renewalItemNameLb) { _renewalItemNameLb = [[UILabel alloc]init]; _renewalItemNameLb.font = LCBoldFont(13); _renewalItemNameLb.textColor = HexColorFromRGB(0x894200); _renewalItemNameLb.textAlignment = NSTextAlignmentCenter; _renewalItemNameLb.text = @"******"; } return _renewalItemNameLb; } - (UILabel *)renewalItemAmountLb{ if (!_renewalItemAmountLb) { _renewalItemAmountLb = [[UILabel alloc]init]; _renewalItemAmountLb.font = LCBoldFont(28); _renewalItemAmountLb.textColor = HexColorFromRGB(0x894200); _renewalItemAmountLb.textAlignment = NSTextAlignmentCenter; _renewalItemAmountLb.text = @"¥******"; } return _renewalItemAmountLb; } - (UILabel *)renewalItemOriginalPriceLb{ if (!_renewalItemOriginalPriceLb) { _renewalItemOriginalPriceLb = [[UILabel alloc]init]; _renewalItemOriginalPriceLb.font = LCFont(9); _renewalItemOriginalPriceLb.textColor = HexColorFromRGB(0x894200); _renewalItemOriginalPriceLb.textAlignment = NSTextAlignmentCenter; _renewalItemOriginalPriceLb.text = @"原价****"; } return _renewalItemOriginalPriceLb; } - (UILabel *)amountSavingsPriceLb{ if (!_amountSavingsPriceLb) { _amountSavingsPriceLb = [[UILabel alloc]init]; _amountSavingsPriceLb.font = LCFont(10); _amountSavingsPriceLb.textColor = HexColorFromRGBA(0x894200, 1); _amountSavingsPriceLb.textAlignment = NSTextAlignmentCenter; _amountSavingsPriceLb.text = @"立省***元"; _amountSavingsPriceLb.backgroundColor = HexColorFromRGBA(0xFFFFFF, 0); } return _amountSavingsPriceLb; } - (UIImageView *)selectedImgv { if (!_selectedImgv) { _selectedImgv = [[UIImageView alloc] init]; _selectedImgv.hidden = YES; _selectedImgv.image = ImageByName(@"ym_member_center_selected_mark"); } return _selectedImgv; } @end