// // RQExerciseExplainHeaderView.m // jiaPei // // Created by 张嵘 on 2022/7/19. // Copyright © 2022 JCZ. All rights reserved. // #import "RQExerciseExplainHeaderView.h" @interface RQExerciseExplainHeaderView () @property (nonatomic, readwrite, strong) RQExciseExplainHeaderGroupViewModel *viewModel; @property (weak, nonatomic) IBOutlet UIStackView *myHeaderView; @end @implementation RQExerciseExplainHeaderView + (instancetype)headerViewWithTableView:(UITableView *)tableView { static NSString *ID = @"RQExerciseExplainHeaderView"; RQExerciseExplainHeaderView *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:ID]; if (header == nil) { header = [self rq_viewFromXib]; } return header; } - (void)bindViewModel:(RQExciseExplainHeaderGroupViewModel *)viewModel { _viewModel = viewModel; @weakify(self) [[RACObserve(RQ_Exercise_Module, exerciseFontSize) takeUntil:self.rac_prepareForReuseSignal] subscribeNext:^(id _Nullable x) { @strongify(self) self.myTitleLabel.font = RQSemiboldFont(RQ_Exercise_Module.exerciseFontSize + 2); }]; RAC(self.myHeaderView, hidden) = [[RACObserve(viewModel, headerHeight) takeUntil:self.rac_prepareForReuseSignal] map:^id _Nullable(id _Nullable value) { return @(viewModel.headerHeight == CGFLOAT_MIN); }]; } @end