RQVipAuthorityNewCell.m 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. //
  2. // RQVipAuthorityNewCell.m
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2022/11/14.
  6. // Copyright © 2022 JCZ. All rights reserved.
  7. //
  8. #import "RQVipAuthorityNewCell.h"
  9. @interface RQVipAuthorityNewCell ()
  10. @property (nonatomic, readwrite, strong) RQVipAuthorityNewItemViewModel *viewModel;
  11. @property (weak, nonatomic) IBOutlet UIImageView *bgImageView;
  12. @property (weak, nonatomic) IBOutlet UILabel *authorityLabel;
  13. @property (weak, nonatomic) IBOutlet UIStackView *subject23View;
  14. @property (weak, nonatomic) IBOutlet UIStackView *subject14View;
  15. @property (weak, nonatomic) IBOutlet UIStackView *allSubjectView;
  16. @property (weak, nonatomic) IBOutlet UILabel *subject23TitleLabel;
  17. @property (weak, nonatomic) IBOutlet UILabel *subject14TitleLabel;
  18. @end
  19. @implementation RQVipAuthorityNewCell
  20. #pragma mark - PublicMethods
  21. + (instancetype)cellWithCollectionView:(UICollectionView *)collectionView forIndexPath:(NSIndexPath *)indexPath {
  22. static NSString *ID = @"RQVipAuthorityNewCell";
  23. [collectionView registerNib:[UINib nibWithNibName:ID bundle:nil] forCellWithReuseIdentifier:ID];
  24. RQVipAuthorityNewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
  25. if (!cell) cell = [self rq_viewFromXib];
  26. return cell;
  27. }
  28. - (void)bindViewModel:(RQVipAuthorityNewItemViewModel *)viewModel {
  29. @weakify(self)
  30. _viewModel = viewModel;
  31. [[[RACObserve(viewModel, bgImageName) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal] subscribeNext:^(id _Nullable x) {
  32. @strongify(self)
  33. self.bgImageView.image = RQImageNamed(viewModel.bgImageName);
  34. }];
  35. RAC(self.authorityLabel, text) = [[RACObserve(viewModel, authorityTitle) takeUntil:self.rac_prepareForReuseSignal] deliverOnMainThread];
  36. [[[RACObserve(viewModel, chooseTypeModel) takeUntil:self.rac_prepareForReuseSignal] deliverOnMainThread] subscribeNext:^(id _Nullable x) {
  37. @strongify(self)
  38. if ([viewModel.chooseTypeModel.dictLabel containsString:@"科一专项VIP"]) {
  39. self.subject14View.hidden = NO;
  40. self.subject23View.hidden = YES;
  41. self.allSubjectView.hidden = YES;
  42. self.subject14TitleLabel.hidden = YES;
  43. self.subject23TitleLabel.hidden = YES;
  44. } else if ([viewModel.chooseTypeModel.dictLabel containsString:@"科二专项VIP"]) {
  45. self.subject14View.hidden = YES;
  46. self.subject23View.hidden = NO;
  47. self.allSubjectView.hidden = YES;
  48. self.subject14TitleLabel.hidden = YES;
  49. self.subject23TitleLabel.hidden = YES;
  50. } else if ([viewModel.chooseTypeModel.dictLabel containsString:@"科三专项VIP"]) {
  51. self.subject14View.hidden = YES;
  52. self.subject23View.hidden = NO;
  53. self.allSubjectView.hidden = YES;
  54. self.subject14TitleLabel.hidden = YES;
  55. self.subject23TitleLabel.hidden = YES;
  56. } else if ([viewModel.chooseTypeModel.dictLabel containsString:@"科四专项VIP"]) {
  57. self.subject14View.hidden = NO;
  58. self.subject23View.hidden = YES;
  59. self.allSubjectView.hidden = YES;
  60. self.subject14TitleLabel.hidden = YES;
  61. self.subject23TitleLabel.hidden = YES;
  62. } else if ([viewModel.chooseTypeModel.dictLabel containsString:@"科一+科四VIP"]) {
  63. self.subject14View.hidden = NO;
  64. self.subject23View.hidden = YES;
  65. self.allSubjectView.hidden = YES;
  66. self.subject14TitleLabel.hidden = YES;
  67. self.subject23TitleLabel.hidden = YES;
  68. } else if ([viewModel.chooseTypeModel.dictLabel containsString:@"科二+科三VIP"]) {
  69. self.subject14View.hidden = YES;
  70. self.subject23View.hidden = NO;
  71. self.allSubjectView.hidden = YES;
  72. self.subject14TitleLabel.hidden = YES;
  73. self.subject23TitleLabel.hidden = YES;
  74. } else if ([viewModel.chooseTypeModel.dictLabel containsString:@"科三+科四VIP"]) {
  75. self.subject14View.hidden = NO;
  76. self.subject23View.hidden = NO;
  77. self.allSubjectView.hidden = YES;
  78. self.subject14TitleLabel.hidden = NO;
  79. self.subject23TitleLabel.hidden = NO;
  80. self.subject23TitleLabel.text = @"科三专项权益";
  81. } else if ([viewModel.chooseTypeModel.dictLabel containsString:@"科二+科三+科四"]) {
  82. self.subject14View.hidden = NO;
  83. self.subject23View.hidden = NO;
  84. self.allSubjectView.hidden = YES;
  85. self.subject14TitleLabel.hidden = NO;
  86. self.subject23TitleLabel.hidden = NO;
  87. self.subject23TitleLabel.text = @"科二科三专项权益";
  88. } else {
  89. self.subject14View.hidden = YES;
  90. self.subject23View.hidden = YES;
  91. self.allSubjectView.hidden = NO;
  92. self.subject14TitleLabel.hidden = YES;
  93. self.subject23TitleLabel.hidden = YES;
  94. }
  95. }];
  96. }
  97. #pragma mark - SystemMethods
  98. - (void)awakeFromNib {
  99. [super awakeFromNib];
  100. // Initialization code
  101. }
  102. @end