From f2e891eecfac25bf6aed38c8eadfdf05704b16b6 Mon Sep 17 00:00:00 2001 From: 无故事王国 <841720330@qq.com> Date: 星期四, 20 六月 2024 18:48:39 +0800 Subject: [PATCH] fix --- DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift | 31 ++++++++++++++++++++----------- 1 files changed, 20 insertions(+), 11 deletions(-) diff --git a/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift b/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift index 365ae9e..363892a 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift @@ -47,11 +47,11 @@ self.page = page self.listenNewModel = listenNewModel } - + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } - + override func viewDidLoad() { super.viewDidLoad() navigationItem.titleView = UIView() @@ -107,7 +107,6 @@ NotificationCenter.default.post(name: NextLession_Noti, object: nil) weakSelf.viewModel.answerType.accept(.none) weakSelf.viewModel.selectIndex.accept(nil) - weakSelf.rootViewModel.answerItems[weakSelf.page] = weakSelf.listenNewModel.subjectList[weakSelf.page] weakSelf.isListen = false } return @@ -172,6 +171,18 @@ collectionView.reloadData() } + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + let flowLayout = self.collectionView.collectionViewLayout as! UICollectionViewFlowLayout + let w = (self.collectionView.size.width - flowLayout.minimumLineSpacing) / 2 + let h = (self.collectionView.size.height - flowLayout.minimumInteritemSpacing) / 2 + + if flowLayout.itemSize.width != w || flowLayout.itemSize.height != h{ + flowLayout.itemSize = CGSize(width: w, height: h) + collectionView.reloadData() + } + } + override func setRx() { viewModel.selectIndex.subscribe(onNext: {[weak self] index in guard let weakSelf = self else { return } @@ -189,6 +200,10 @@ self?.isAnsterComplete = true VoicePlayer.share().playSuccessVoice() + + let teamId = weakSelf.listenNewModel.data?.id.components(separatedBy: ",")[weakSelf.page] + weakSelf.rootViewModel.insertCorrectAnswer(teamId: teamId, answerId: weakSelf.listenNewModel.subjectList[weakSelf.page][index.row].id) + DispatchQueue.main.asyncAfter(deadline: .now()+2) { VoicePlayer.share().playerAt(url: weakSelf.listenNewModel.subjectList[weakSelf.page][index.row].correct) } @@ -207,8 +222,7 @@ self?.answerSuccess(cell) case .fail: self?.viewModel.answerType.accept(.fail) -// self?.collectionView.isUserInteractionEnabled = false - self?.answerFail(errorSound: weakSelf.listenNewModel.subjectList[weakSelf.page][index.row].error) + self?.collectionView.reloadData() default:break } } @@ -230,11 +244,6 @@ }completion: { _ in self.collectionView.reloadData() } - } - - private func answerFail(errorSound:String?){ - self.collectionView.reloadData() - VoicePlayer.share().playerAt(url: errorSound) } } @@ -272,7 +281,7 @@ isListen = false self.view.isUserInteractionEnabled = false } - + func playComplete() { isListen = true self.view.isUserInteractionEnabled = true -- Gitblit v1.7.1