YMAccountBalanceRechargeItemCell.m 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. //
  2. // YMAccountBalanceRechargeItemCell.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/28.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMAccountBalanceRechargeItemCell.h"
  9. #import "YMAccountBalanceRechargeItemCellViewModel.h"
  10. @interface YMAccountBalanceRechargeItemCell()
  11. /// ViewModel
  12. @property (nonatomic, strong) YMAccountBalanceRechargeItemCellViewModel *viewModel;
  13. /// 基础视图
  14. @property (nonatomic, strong) UIView *baseView;
  15. /// 充值赠送额度提示视图
  16. @property (nonatomic, strong) UIView *rechargeGiftBalanceTipsView;
  17. /// 充值赠送额度提示标签
  18. @property (nonatomic, strong) UILabel *rechargeItemGiftBalanceTipsLb;
  19. /// 充值余额视图
  20. @property (nonatomic, strong) UIView *rechargeBalanceView;
  21. /// 充值余额图标
  22. @property (nonatomic, strong) UIImageView *rechargeBalanceIcon;
  23. /// 选中标记
  24. @property (nonatomic, strong) UIImageView *selectedManrkImgv;
  25. /// 充值余额标签
  26. @property (nonatomic, strong) UILabel *rechargeBalanceLb;
  27. /// 充值金额标签
  28. @property (nonatomic, strong) UILabel *rechargeAmountLb;
  29. @end
  30. @implementation YMAccountBalanceRechargeItemCell
  31. - (void)setSelected:(BOOL)selected{
  32. [super setSelected:selected];
  33. if (selected) {
  34. //self.baseView.layer.borderWidth = adapt(1);
  35. //self.baseView.backgroundColor = HexColorFromRGB(0xFFFFFF);
  36. self.selectedManrkImgv.image = ImageByName(@"ym_account_balance_selected");
  37. }else{
  38. //self.baseView.layer.borderWidth = 0;
  39. //self.baseView.backgroundColor = HexColorFromRGB(0xF2F5FF);
  40. self.selectedManrkImgv.image = ImageByName(@"ym_account_balance_unselect");
  41. }
  42. }
  43. - (void)ym_setupViews{
  44. self.contentView.backgroundColor = UIColor.clearColor;
  45. self.backgroundColor = UIColor.clearColor;
  46. [self.contentView addSubview:self.baseView];
  47. [self.baseView addSubview:self.selectedManrkImgv];
  48. [self.baseView addSubview:self.rechargeGiftBalanceTipsView];
  49. [self.rechargeGiftBalanceTipsView addSubview:self.rechargeItemGiftBalanceTipsLb];
  50. [self.baseView addSubview:self.rechargeBalanceView];
  51. [self.rechargeBalanceView addSubview:self.rechargeBalanceIcon];
  52. [self.rechargeBalanceView addSubview:self.rechargeBalanceLb];
  53. [self.baseView addSubview:self.rechargeAmountLb];
  54. [self setNeedsUpdateConstraints];
  55. [self updateConstraintsIfNeeded];
  56. }
  57. - (void)updateConstraints {
  58. [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) {
  59. make.top.equalTo(self.contentView);
  60. make.left.equalTo(self.contentView);
  61. make.right.equalTo(self.contentView);
  62. make.bottom.equalTo(self.contentView);
  63. }];
  64. [self.rechargeGiftBalanceTipsView mas_makeConstraints:^(MASConstraintMaker *make) {
  65. make.top.equalTo(self.baseView);
  66. make.left.equalTo(self.baseView).offset(adapt(4));
  67. }];
  68. [self.rechargeItemGiftBalanceTipsLb mas_makeConstraints:^(MASConstraintMaker *make) {
  69. make.top.equalTo(self.rechargeGiftBalanceTipsView).offset(adapt(3));
  70. make.left.equalTo(self.rechargeGiftBalanceTipsView).offset(adapt(5));
  71. make.right.equalTo(self.rechargeGiftBalanceTipsView).offset(adapt(-5));
  72. make.bottom.equalTo(self.rechargeGiftBalanceTipsView).offset(adapt(-3));
  73. }];
  74. [self.rechargeBalanceView mas_makeConstraints:^(MASConstraintMaker *make) {
  75. make.centerX.equalTo(self.baseView.mas_centerX);
  76. make.top.equalTo(self.baseView).offset(adapt(25));
  77. }];
  78. [self.rechargeBalanceIcon mas_makeConstraints:^(MASConstraintMaker *make) {
  79. make.centerY.equalTo(self.rechargeBalanceLb.mas_centerY);
  80. make.left.equalTo(self.rechargeBalanceView);
  81. make.width.mas_equalTo(adapt(14));
  82. make.height.mas_equalTo(adapt(14));
  83. }];
  84. [self.rechargeBalanceLb mas_makeConstraints:^(MASConstraintMaker *make) {
  85. make.top.equalTo(self.rechargeBalanceView);
  86. make.left.equalTo(self.rechargeBalanceIcon.mas_right).offset(adapt(5));
  87. make.right.equalTo(self.rechargeBalanceView);
  88. make.bottom.equalTo(self.rechargeBalanceView);
  89. }];
  90. [self.rechargeAmountLb mas_makeConstraints:^(MASConstraintMaker *make) {
  91. make.centerX.equalTo(self.baseView.mas_centerX);
  92. make.bottom.equalTo(self.baseView).offset(adapt(-25));
  93. }];
  94. [self.selectedManrkImgv mas_makeConstraints:^(MASConstraintMaker *make) {
  95. make.top.left.bottom.right.equalTo(self.baseView);
  96. }];
  97. [super updateConstraints];
  98. }
  99. - (void)ym_bindViewModel:(YMAccountBalanceRechargeItemCellViewModel*)viewModel{
  100. if (!viewModel) {
  101. return;
  102. }
  103. _viewModel = viewModel;
  104. self.rechargeItemGiftBalanceTipsLb.text = self.viewModel.rechargeItemGiftBalanceTips;
  105. self.rechargeGiftBalanceTipsView.hidden = self.viewModel.isHideRechargeItemGiftBalanceTips;
  106. self.rechargeBalanceLb.text = self.viewModel.rechargeItemBalance;
  107. self.rechargeAmountLb.text = self.viewModel.rechargeItemAmount;
  108. }
  109. - (UIView *)baseView{
  110. if (!_baseView) {
  111. _baseView = [[UIView alloc]init];
  112. //_baseView.backgroundColor = HexColorFromRGB(0xF2F5FF);
  113. _baseView.backgroundColor = UIColor.clearColor;
  114. _baseView.layer.borderColor = kMainGradColor2.CGColor;
  115. _baseView.layer.borderWidth = 0;
  116. _baseView.layer.cornerRadius = adapt(8);
  117. _baseView.layer.masksToBounds = YES;
  118. }
  119. return _baseView;
  120. }
  121. - (UIView *)rechargeGiftBalanceTipsView{
  122. if (!_rechargeGiftBalanceTipsView) {
  123. _rechargeGiftBalanceTipsView = [[UIView alloc]init];
  124. [_rechargeGiftBalanceTipsView ym_setGradientBackgroundWithColors:kMainGradColors locations:kMainGradLocation startPoint:kMainGradStartP endPoint:kMainGradEndP];
  125. [_rechargeGiftBalanceTipsView addRectCorner: UIRectCornerTopLeft | UIRectCornerBottomRight radius:adapt(8)];
  126. }
  127. return _rechargeGiftBalanceTipsView;
  128. }
  129. - (UILabel *)rechargeItemGiftBalanceTipsLb{
  130. if (!_rechargeItemGiftBalanceTipsLb) {
  131. _rechargeItemGiftBalanceTipsLb = [[UILabel alloc]init];
  132. _rechargeItemGiftBalanceTipsLb.font = LCFont(8);
  133. _rechargeItemGiftBalanceTipsLb.textColor = HexColorFromRGB(0xFFFFFF);
  134. _rechargeItemGiftBalanceTipsLb.textAlignment = NSTextAlignmentCenter;
  135. _rechargeItemGiftBalanceTipsLb.text = @"VIP加送***";
  136. }
  137. return _rechargeItemGiftBalanceTipsLb;
  138. }
  139. - (UIView *)rechargeBalanceView{
  140. if (!_rechargeBalanceView) {
  141. _rechargeBalanceView = [[UIView alloc]init];
  142. }
  143. return _rechargeBalanceView;
  144. }
  145. - (UIImageView *)rechargeBalanceIcon{
  146. if (!_rechargeBalanceIcon) {
  147. _rechargeBalanceIcon = [[UIImageView alloc]init];
  148. _rechargeBalanceIcon.image = ImageByName(@"ym_account_balance_recharge_item_diamond_icon");
  149. }
  150. return _rechargeBalanceIcon;
  151. }
  152. - (UIImageView *)selectedManrkImgv {
  153. if (!_selectedManrkImgv) {
  154. _selectedManrkImgv = [[UIImageView alloc] init];
  155. _selectedManrkImgv.hidden = NO;
  156. _selectedManrkImgv.image = ImageByName(@"ym_account_balance_unselect");
  157. }
  158. return _selectedManrkImgv;
  159. }
  160. - (UILabel *)rechargeBalanceLb{
  161. if (!_rechargeBalanceLb) {
  162. _rechargeBalanceLb = [[UILabel alloc]init];
  163. _rechargeBalanceLb.font = LCBoldFont(16);
  164. _rechargeBalanceLb.textColor = HexColorFromRGB(0x000000);
  165. _rechargeBalanceLb.textAlignment = NSTextAlignmentLeft;
  166. _rechargeBalanceLb.text = @"******";
  167. }
  168. return _rechargeBalanceLb;
  169. }
  170. - (UILabel *)rechargeAmountLb{
  171. if (!_rechargeAmountLb) {
  172. _rechargeAmountLb = [[UILabel alloc]init];
  173. _rechargeAmountLb.font = LCFont(12);
  174. _rechargeAmountLb.textColor = HexColorFromRGBA(0x000000,0.45);
  175. _rechargeAmountLb.textAlignment = NSTextAlignmentCenter;
  176. _rechargeAmountLb.text = @"¥*****";
  177. }
  178. return _rechargeAmountLb;
  179. }
  180. @end