// // NYFailSpecialExerciseDetailsCell.m // jiaPei // // Created by Ning.ge on 2024/12/12. // Copyright © 2024 JCZ. All rights reserved. // #import "NYFailSpecialExerciseDetailsCell.h" @interface NYFailSpecialExerciseDetailsCell () @property (nonatomic, readwrite, strong) NYFailSpecialExerciseDetailItemModel *viewModel; @end @implementation NYFailSpecialExerciseDetailsCell #pragma mark - PublicMethods + (instancetype)cellWithCollectionView:(UICollectionView *)collectionView forIndexPath:(NSIndexPath *)indexPath { static NSString *ID = @"NYFailSpecialExerciseDetailsCell"; [collectionView registerNib:[UINib nibWithNibName:ID bundle:nil] forCellWithReuseIdentifier:ID]; NYFailSpecialExerciseDetailsCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath]; if (!cell) cell = [self rq_viewFromXib]; return cell; } - (void)bindViewModel:(NYFailSpecialExerciseDetailItemModel *)viewModel { self.viewModel = viewModel; if(viewModel.dataModel.showType.intValue == 1){ self.scoreStr_label.text = [NSString stringWithFormat:@"%zd分",viewModel.dataModel.score]; CGFloat yOffset = 0; // 初始偏移量 CGFloat cellHeight = 35.f; // 每个 Cell 的高度(根据实际设计调整) int bi = 0; for (int i= 0; icellHeight){ cellHeight = str_size.height + 12.f; } cellView.frame = CGRectMake(0, yOffset, RQ_SCREEN_WIDTH-22*2, cellHeight); cellView.content_label.text = title_str; // 调整偏移量 yOffset += cellHeight; bi = i+1; } for (int ci=bi; ci<30; ci++) { NYFailItemPointCellView *cellView = [self.tbList_view viewWithTag:99+ci]; cellView.hidden = YES; } } // RAC(self.scoreStr_label, text) = [[/*RACObserve(viewModel.dataModel, s) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal];*/ } - (IBAction)submit_clickdo:(UIButton *)sender { NSString *questionIds = self.viewModel.dataModel.questionIds; NSArray *arr = [[RQ_YDTQuestion_Module getQuestionWithExerciseType:RQExerciseType_Error_Special_List questionIds:questionIds].rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel *ydtQuestionModel) { return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel]; }].toArray; RQExerciseViewModel *exerciseViewModel = [[RQExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{ RQHomePageCarTypeKey : @(RQ_YDTQuestion_Module.carType), RQHomePageSubjectTypeKey : @(RQ_YDTQuestion_Module.subject), RQHomeSubPageTypeKey : @(RQHomeSubPageType_SequentialPractice), RQViewModelIDKey : @"标题", RQExerciseTypeKey : @(RQExerciseType_Error_Special_List), RQViewModelUtilKey : arr, }]; [RQ_APPDELEGATE.services pushViewModel:exerciseViewModel animated:YES]; } #pragma mark - SystemMethods - (void)awakeFromNib { [super awakeFromNib]; [self initTbList_view]; } - (void)initTbList_view{ self.vm_bm_imageView.image = [UIImage rq_resizableImage:@"blue_jb_bg"]; // 初始化按钮 CGFloat yOffset = 0; // 初始偏移量 CGFloat cellHeight = 35.f; // 每个 Cell 的高度(根据实际设计调整) for (int i= 0; i<30; i++) { // 从 XIB 加载 NYFailItemPointCellView NYFailItemPointCellView *cellView = [[NYFailItemPointCellView alloc] initWithFrame:CGRectMake(0, yOffset, RQ_SCREEN_WIDTH-22*2, cellHeight)]; //[[NSBundle mainBundle] loadNibNamed:@"NYFailItemPointCellView" owner:nil options:nil].firstObject; cellView.tag = 99+i; cellView.hidden = YES; // 添加到 tbList_view [self.tbList_view addSubview:cellView]; // 调整偏移量 yOffset += cellHeight; } } @end