123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- //
- // 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
|