RQExerciseExplainHeaderView.m 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // RQExerciseExplainHeaderView.m
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2022/7/19.
  6. // Copyright © 2022 JCZ. All rights reserved.
  7. //
  8. #import "RQExerciseExplainHeaderView.h"
  9. @interface RQExerciseExplainHeaderView ()
  10. @property (nonatomic, readwrite, strong) RQExciseExplainHeaderGroupViewModel *viewModel;
  11. @property (weak, nonatomic) IBOutlet UIStackView *myHeaderView;
  12. @end
  13. @implementation RQExerciseExplainHeaderView
  14. + (instancetype)headerViewWithTableView:(UITableView *)tableView {
  15. static NSString *ID = @"RQExerciseExplainHeaderView";
  16. RQExerciseExplainHeaderView *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:ID];
  17. if (header == nil) {
  18. header = [self rq_viewFromXib];
  19. }
  20. return header;
  21. }
  22. - (void)bindViewModel:(RQExciseExplainHeaderGroupViewModel *)viewModel {
  23. _viewModel = viewModel;
  24. @weakify(self)
  25. [[RACObserve(RQ_Exercise_Module, exerciseFontSize) takeUntil:self.rac_prepareForReuseSignal] subscribeNext:^(id _Nullable x) {
  26. @strongify(self)
  27. self.myTitleLabel.font = RQSemiboldFont(RQ_Exercise_Module.exerciseFontSize + 2);
  28. }];
  29. RAC(self.myHeaderView, hidden) = [[RACObserve(viewModel, headerHeight) takeUntil:self.rac_prepareForReuseSignal] map:^id _Nullable(id _Nullable value) {
  30. return @(viewModel.headerHeight == CGFLOAT_MIN);
  31. }];
  32. }
  33. @end