123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- //
- // 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; i<viewModel.dataModel.question_array.count; i++) {
- NSString *title_str = [NSString stringWithFormat:@"%zd.%@",i+1,viewModel.dataModel.question_array[i]];
- // 从 XIB 加载 NYFailItemPointCellView
- NYFailItemPointCellView *cellView = [self.tbList_view viewWithTag:99+i];
- cellView.hidden = NO;
- CGSize str_size = [title_str rq_sizeWithFont:cellView.content_label.font limitWidth:cellView.content_label.width];
- if(str_size.height>cellHeight){
- 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
|