YMMemberPrivilegeItemCell.m 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. //
  2. // YMMemberPrivilegeItemCell.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/27.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMMemberPrivilegeItemCell.h"
  9. #import "YMMemberPrivilegeItemCellViewModel.h"
  10. @interface YMMemberPrivilegeItemCell()
  11. /// ViewModel
  12. @property (nonatomic, strong) YMMemberPrivilegeItemCellViewModel *viewModel;
  13. /// 基础视图
  14. @property (nonatomic, strong) UIView *baseView;
  15. /// 特权项目图标
  16. @property (nonatomic, strong) UIImageView *privilegeItemIcon;
  17. /// 特权项目标题标签
  18. @property (nonatomic, strong) UILabel *privilegeItemTitleLb;
  19. /// 特权项目详情标签
  20. @property (nonatomic, strong) UILabel *privilegeItemDetailLb;
  21. @end
  22. @implementation YMMemberPrivilegeItemCell
  23. - (void)ym_setupViews{
  24. self.contentView.backgroundColor = UIColor.clearColor;
  25. self.backgroundColor = UIColor.clearColor;
  26. [self.contentView addSubview:self.baseView];
  27. [self.baseView addSubview:self.privilegeItemIcon];
  28. [self.baseView addSubview:self.privilegeItemTitleLb];
  29. [self.baseView addSubview:self.privilegeItemDetailLb];
  30. [self setNeedsUpdateConstraints];
  31. [self updateConstraintsIfNeeded];
  32. }
  33. - (void)updateConstraints {
  34. [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) {
  35. make.top.equalTo(self.contentView);
  36. make.left.equalTo(self.contentView);
  37. make.right.equalTo(self.contentView);
  38. make.bottom.equalTo(self.contentView);
  39. }];
  40. [self.privilegeItemIcon mas_makeConstraints:^(MASConstraintMaker *make) {
  41. make.centerX.equalTo(self.baseView.mas_centerX);
  42. make.top.equalTo(self.baseView);
  43. make.width.height.mas_equalTo(adapt(60));
  44. }];
  45. [self.privilegeItemTitleLb mas_makeConstraints:^(MASConstraintMaker *make) {
  46. make.centerX.equalTo(self.baseView.mas_centerX);
  47. make.top.equalTo(self.privilegeItemIcon.mas_bottom).offset(adapt(8));
  48. }];
  49. [self.privilegeItemDetailLb mas_makeConstraints:^(MASConstraintMaker *make) {
  50. make.centerX.equalTo(self.baseView.mas_centerX);
  51. make.top.equalTo(self.privilegeItemTitleLb.mas_bottom).offset(adapt(5));
  52. }];
  53. [super updateConstraints];
  54. }
  55. - (void)ym_bindViewModel:(YMMemberPrivilegeItemCellViewModel*)viewModel{
  56. if (!viewModel) {
  57. return;
  58. }
  59. _viewModel = viewModel;
  60. [self.privilegeItemIcon sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.viewModel.privilegeItemIcon]];
  61. self.privilegeItemTitleLb.text = self.viewModel.privilegeItemTitle;
  62. self.privilegeItemDetailLb.text = self.viewModel.privilegeItemDetail;
  63. }
  64. - (UIView *)baseView{
  65. if (!_baseView) {
  66. _baseView = [[UIView alloc]init];
  67. }
  68. return _baseView;
  69. }
  70. - (UIImageView *)privilegeItemIcon{
  71. if (!_privilegeItemIcon) {
  72. _privilegeItemIcon = [[UIImageView alloc]init];
  73. }
  74. return _privilegeItemIcon;
  75. }
  76. - (UILabel *)privilegeItemTitleLb{
  77. if (!_privilegeItemTitleLb) {
  78. _privilegeItemTitleLb = [[UILabel alloc]init];
  79. _privilegeItemTitleLb.font = LCBoldFont(14);
  80. _privilegeItemTitleLb.textColor = HexColorFromRGBA(0x894200,1);
  81. _privilegeItemTitleLb.textAlignment = NSTextAlignmentCenter;
  82. _privilegeItemTitleLb.text = @"******";
  83. _privilegeItemTitleLb.numberOfLines = 0;
  84. }
  85. return _privilegeItemTitleLb;
  86. }
  87. - (UILabel *)privilegeItemDetailLb{
  88. if (!_privilegeItemDetailLb) {
  89. _privilegeItemDetailLb = [[UILabel alloc]init];
  90. _privilegeItemDetailLb.font = LCFont(12);
  91. _privilegeItemDetailLb.textColor = HexColorFromRGBA(0x171A1D,1);
  92. _privilegeItemDetailLb.textAlignment = NSTextAlignmentCenter;
  93. _privilegeItemDetailLb.text = @"******";
  94. _privilegeItemDetailLb.numberOfLines = 0;
  95. _privilegeItemDetailLb.alpha = 0.5;
  96. }
  97. return _privilegeItemDetailLb;
  98. }
  99. @end