YMReportReasonCell.m 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //
  2. // YMReportReasonCell.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/3/5.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMReportReasonCell.h"
  9. #import "YMReportReasonCellViewModel.h"
  10. @interface YMReportReasonCell()
  11. /// ViewModel
  12. @property (nonatomic, strong) YMReportReasonCellViewModel *viewModel;
  13. /// 基础视图
  14. @property (nonatomic, strong) UIView *baseView;
  15. /// 举报原因名称标签
  16. @property (nonatomic, strong) UILabel *reportReasonNameLb;
  17. /// 选中图标
  18. @property (nonatomic, strong) UIImageView *selectedIcon;
  19. @end
  20. @implementation YMReportReasonCell
  21. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  22. [super setSelected:selected animated:animated];
  23. if (selected) {
  24. self.selectedIcon.image = ImageByName(@"ym_member_center_pay_selected_icon");
  25. } else {
  26. self.selectedIcon.image = ImageByName(@"ym_member_center_pay_normal_icon");
  27. }
  28. }
  29. - (void)ym_setupViews{
  30. self.contentView.backgroundColor = UIColor.clearColor;
  31. self.backgroundColor = UIColor.clearColor;
  32. [self.contentView addSubview:self.baseView];
  33. [self.baseView addSubview:self.reportReasonNameLb];
  34. [self.baseView addSubview:self.selectedIcon];
  35. [self setNeedsUpdateConstraints];
  36. [self updateConstraintsIfNeeded];
  37. }
  38. - (void)updateConstraints {
  39. [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) {
  40. make.top.equalTo(self.contentView);
  41. make.left.equalTo(self.contentView);
  42. make.right.equalTo(self.contentView);
  43. make.bottom.equalTo(self.contentView);
  44. }];
  45. [self.reportReasonNameLb mas_makeConstraints:^(MASConstraintMaker *make) {
  46. make.centerY.equalTo(self.baseView.mas_centerY);
  47. make.left.equalTo(self.baseView).offset(adapt(15));
  48. }];
  49. [self.selectedIcon mas_makeConstraints:^(MASConstraintMaker *make) {
  50. make.centerY.equalTo(self.baseView.mas_centerY);
  51. make.right.equalTo(self.baseView).offset(adapt(-15));
  52. make.width.height.mas_equalTo(adapt(30));
  53. }];
  54. [super updateConstraints];
  55. }
  56. - (void)ym_bindViewModel:(YMReportReasonCellViewModel*)viewModel{
  57. if (!viewModel) {
  58. return;
  59. }
  60. _viewModel = viewModel;
  61. self.reportReasonNameLb.text = self.viewModel.reportReasonName;
  62. }
  63. - (UIView *)baseView{
  64. if (!_baseView) {
  65. _baseView = [[UIView alloc]init];
  66. }
  67. return _baseView;
  68. }
  69. - (UILabel *)reportReasonNameLb{
  70. if (!_reportReasonNameLb) {
  71. _reportReasonNameLb = [[UILabel alloc]init];
  72. _reportReasonNameLb.font = LCFont(14);
  73. _reportReasonNameLb.textColor = HexColorFromRGB(0x333333);
  74. _reportReasonNameLb.textAlignment = NSTextAlignmentLeft;
  75. _reportReasonNameLb.text = @"******";
  76. }
  77. return _reportReasonNameLb;
  78. }
  79. - (UIImageView *)selectedIcon{
  80. if (!_selectedIcon) {
  81. _selectedIcon = [[UIImageView alloc]init];
  82. _selectedIcon.image = ImageByName(@"ym_member_center_pay_normal_icon");
  83. }
  84. return _selectedIcon;
  85. }
  86. @end