RQProfileMemberValidityCell.m 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // RQProfileMemberValidityCell.m
  3. // SDJK
  4. //
  5. // Created by 张嵘 on 2021/8/2.
  6. //
  7. #import "RQProfileMemberValidityCell.h"
  8. @interface RQProfileMemberValidityCell ()
  9. @property (nonatomic, readwrite, strong) RQProfileMemberValidityItemViewModel *viewModel;
  10. @property (weak, nonatomic) IBOutlet UILabel *titleLabel;
  11. @property (weak, nonatomic) IBOutlet UILabel *vipStateLabel;
  12. @property (weak, nonatomic) IBOutlet UIImageView *rigntArrow;
  13. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *stateLabelTrailingToSuperView;
  14. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *stateLabelTrailingToRightArrow;
  15. @end
  16. @implementation RQProfileMemberValidityCell
  17. #pragma mark - PublicMethods
  18. + (instancetype)cellWithTableView:(UITableView *)tableView {
  19. static NSString *ID = @"RQProfileMemberValidityCell";
  20. RQProfileMemberValidityCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
  21. if (!cell) {
  22. cell = [self rq_viewFromXib];
  23. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  24. cell.titleLabel.font = RQRegularFont_16;
  25. cell.titleLabel.textColor = RQ_MAIN_TEXT_COLOR_1;
  26. }
  27. return cell;
  28. }
  29. - (void)bindViewModel:(RQProfileMemberValidityItemViewModel *)viewModel {
  30. _viewModel = viewModel;
  31. _vipStateLabel.text = _viewModel.subtitle;
  32. [RACObserve(_viewModel, subtitle) subscribeNext:^(NSString *str) {
  33. _vipStateLabel.text = str;
  34. _rigntArrow.hidden = [_vipStateLabel.text isEqualToString:@"VIP永久使用"];
  35. _stateLabelTrailingToSuperView.priority = _rigntArrow.hidden? UILayoutPriorityRequired : UILayoutPriorityDefaultLow;
  36. _stateLabelTrailingToRightArrow.priority = _rigntArrow.hidden? UILayoutPriorityDefaultLow : UILayoutPriorityRequired;
  37. }];
  38. }
  39. #pragma mark - SystemMethods
  40. - (void)awakeFromNib {
  41. [super awakeFromNib];
  42. }
  43. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  44. [super setSelected:selected animated:animated];
  45. // Configure the view for the selected state
  46. }
  47. @end