123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- //
- // RQExercisExplainCell.m
- // JSJP
- //
- // Created by 张嵘 on 2022/7/2.
- //
- #import "RQExercisExplainCell.h"
- @interface RQExercisExplainCell ()
- @property (nonatomic, readwrite, strong) RQExercisExplainItemViewModel *viewModel;
- @property (weak, nonatomic) IBOutlet UILabel *errorRateLabel;
- @property (weak, nonatomic) IBOutlet UIButton *starOneBtn;
- @property (weak, nonatomic) IBOutlet UIButton *starTwoBtn;
- @property (weak, nonatomic) IBOutlet UIButton *starThreeBtn;
- @property (weak, nonatomic) IBOutlet UIButton *starFourBtn;
- @property (weak, nonatomic) IBOutlet UIButton *starFiveBtn;
- @property (weak, nonatomic) IBOutlet YYLabel *explainLabel;
- @end
- @implementation RQExercisExplainCell
- #pragma mark - PublicMethods
- + (instancetype)cellWithTableView:(UITableView *)tableView {
- static NSString *ID = @"RQExercisExplainCell";
- RQExercisExplainCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
- if (!cell) {
- cell = [self rq_viewFromXib];
- cell.selectionStyle = UITableViewCellSelectionStyleNone;
- }
- return cell;
- }
- - (void)bindViewModel:(RQExercisExplainItemViewModel *)viewModel {
- // @weakify(self)
- _viewModel = viewModel;
- _errorRateLabel.text = [NSString stringWithFormat:@"%.1f%%",viewModel.exerciseModel.ydtQuestionModel.error_rate * 100];
- switch (viewModel.exerciseModel.ydtQuestionModel.diff_degree) {
- case 0: {
- _starOneBtn.selected = NO;
- _starTwoBtn.selected = NO;
- _starThreeBtn.selected = NO;
- _starFourBtn.selected = NO;
- _starFiveBtn.selected = NO;
- break;
- }
- case 1: {
- _starOneBtn.selected = YES;
- _starTwoBtn.selected = NO;
- _starThreeBtn.selected = NO;
- _starFourBtn.selected = NO;
- _starFiveBtn.selected = NO;
- break;
- }
- case 2: {
- _starOneBtn.selected = YES;
- _starTwoBtn.selected = YES;
- _starThreeBtn.selected = NO;
- _starFourBtn.selected = NO;
- _starFiveBtn.selected = NO;
- break;
- }
- case 3: {
- _starOneBtn.selected = YES;
- _starTwoBtn.selected = YES;
- _starThreeBtn.selected = YES;
- _starFourBtn.selected = NO;
- _starFiveBtn.selected = NO;
- break;
- }
- case 4: {
- _starOneBtn.selected = YES;
- _starTwoBtn.selected = YES;
- _starThreeBtn.selected = YES;
- _starFourBtn.selected = YES;
- _starFiveBtn.selected = NO;
- break;
- }
- case 5: {
- _starOneBtn.selected = YES;
- _starTwoBtn.selected = YES;
- _starThreeBtn.selected = YES;
- _starFourBtn.selected = YES;
- _starFiveBtn.selected = YES;
- break;
- }
-
- default:
- break;
- }
- RAC(self.explainLabel, attributedText) = [[RACObserve(viewModel, explainString) takeUntil:self.rac_prepareForReuseSignal] deliverOnMainThread];
- }
- #pragma mark - SystemMethods
- - (void)awakeFromNib {
- [super awakeFromNib];
- // Initialization code
- }
- - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
- [super setSelected:selected animated:animated];
- // Configure the view for the selected state
- }
- @end
|