fix
无故事王国
2024-06-11 d6157c137a888d4f6931255735c3ed39575c579d
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFight_lesson_2_VC.swift
@@ -16,6 +16,9 @@
            private var randomElement:Listen1SubModel?
            private var page:Int!
            var rootViewModel:HomeListenFightViewModel!
            private var tempViews = [StudyHandleView]()
            private var playedIndex = Set<Int>() //已经播放过的view
            private lazy var stackView:UIStackView = {
                        let stackView = UIStackView()
@@ -79,19 +82,29 @@
                        addStackView()
                        VoicePlayer.share().playEnd {[weak self] in
                                    //对已经播放过的View,进行刷新
                                    for sub in self!.stackView.arrangedSubviews as! [StudyHandleView]{
                                                if self!.playedIndex.contains(sub.tag){
                                                            sub.resetView()
                                                }
                                    }
                        }
            }
            private func addStackView(){
                        stackView.removeArrangedSubviews()
                        var tempViews = [StudyHandleView]()
                        for subV in stackView.arrangedSubviews{
                                    subV.removeFromSuperview()
                        }
                        tempViews.removeAll()
                        for index in 0...2{
                                    let handleView = StudyHandleView.jq_loadNibView()
                                    handleView.listenType = .lesson2
                                    handleView.view_choose.alpha = 0
                                    handleView.btn_choose.tag = 10 + index
                                    handleView.tag = 20 + index
                                    let row = viewModel.selectIndex.value!.row
                                    let model = listen1Model.subjectList[row]
@@ -108,14 +121,18 @@
                                                handleView.vioceSoundUrl = model.error.components(separatedBy: ",").last
                                    }
                                    handleView.playAt {[weak self] index in
                                                self?.playedIndex.insert(index)
                                    }
                                    handleView.chooseClouse {[weak self] btn in
                                                guard let weakSelf = self else { return }
                                                let row = weakSelf.viewModel.selectIndex.value!.row
                                                handleView.view_choose.alpha = 1
                                                var lessionType:Fight_lessonType = .none
                                                if handleView.vioceSoundUrl == weakSelf.listen1Model.subjectList[row].correct{
                                                            lessionType = .success
                                                            VoicePlayer.share().playerEnd()
                                                }else{
                                                            lessionType = .fail
                                                }
@@ -129,9 +146,10 @@
                                                                                    handleView.btn_state.alpha = 1
                                                                        }
                                                                        let i = ceil(handleView.x / 300).int
                                                                        if let cell = self?.collectionView.dequeueReusableCell(withReuseIdentifier: "_ListenFight_lesson_1_CCell", for: self!.viewModel.selectIndex.value!) as? ListenFight_lesson_1_CCell{
                                                                                    self?.viewModel.answerType.accept(.success)
                                                                                    self?.answerSuccess(cell,index: index)
                                                                                    self?.answerSuccess(cell,index: i)
                                                                        }
                                                            case .fail:
                                                                        weakSelf.rootViewModel.errorNum += 1
@@ -139,16 +157,21 @@
                                                                        UIView.animate(withDuration: 0.5) {
                                                                                    handleView.btn_state.alpha = 1
                                                                        }
                                                                        UIView.animate(withDuration: 0.5, delay: 1.2, options: .layoutSubviews) {
                                                                                    handleView.btn_pay.alpha = 1
                                                                                    handleView.btn_voice.alpha = 1
                                                                                    handleView.btn_state.alpha = 0
                                                                        } completion: { _ in
                                                                                    handleView.btn_choose.isSelected = false
                                                                        }
                                                            default:
                                                                        handleView.btn_state.setImage(nil, for: .normal)
                                                }
                                    }
                                    handleView.snp.makeConstraints { make in
                                                make.height.equalTo(52)
                                                make.width.greaterThanOrEqualTo(159)
                                                make.width.greaterThanOrEqualTo(221)
                                    }
                                    tempViews.append(handleView)
                        }
@@ -166,6 +189,7 @@
                        //copy试图放在上面进行覆盖
                        let copyHandleView = studyHandleView.copyView()
                        copyHandleView.view_choose.isHidden = true
                        copyHandleView.vioceSoundUrl = listen1Model.subjectList[self.viewModel.selectIndex.value!.row].correct
                        copyHandleView.btn_state.setImage(nil, for: .normal)
                        view.addSubview(copyHandleView)
                        view.layoutIfNeeded()
@@ -188,9 +212,10 @@
                                                make.height.equalTo(40)
                                    }
                                    self.view.layoutIfNeeded()
                        }completion: { _ in
                                    self.resetStackView()
                        }completion: { complete in
                                    if complete{
                                                self.resetStackView()
                                    }
                        }
            }