| | |
| | | |
| | | private var viewModel = FightAnswerViewModel() |
| | | |
| | | private var listen1Model:Listen1Model! |
| | | private var page:Int! |
| | | var rootViewModel:HomeListenFightViewModel! |
| | | |
| | | private lazy var stackView:UIStackView = { |
| | | let stackView = UIStackView() |
| | | stackView.spacing = 78 |
| | |
| | | collection.register(UINib(nibName: "SimpleImageCCell", bundle: nil), forCellWithReuseIdentifier: "_SimpleImageCCell") |
| | | return collection |
| | | }() |
| | | |
| | | required init(page:Int,listen1Model:Listen1Model){ |
| | | super.init(nibName: nil, bundle: nil) |
| | | self.page = page |
| | | self.listen1Model = listen1Model |
| | | } |
| | | |
| | | required init?(coder: NSCoder) { |
| | | fatalError("init(coder:) has not been implemented") |
| | | } |
| | | |
| | | override func setUI() { |
| | | super.setUI() |
| | |
| | | make.width.greaterThanOrEqualTo(100) |
| | | } |
| | | |
| | | for subV in stackView.arrangedSubviews{ |
| | | subV.removeFromSuperview() |
| | | } |
| | | stackView.removeArrangedSubviews() |
| | | |
| | | var tempHandleViews = [StudyHandleView]() |
| | | for index in 0...2{ |
| | | let handleView = StudyHandleView.jq_loadNibView() |
| | | handleView.listenType = .lesson2 |
| | | |
| | | if index == 0{ |
| | | handleView.vioceSoundUrl = listen1Model.storyList[page].correct |
| | | }else if index == 1{ |
| | | handleView.vioceSoundUrl = listen1Model.storyList[page].error.components(separatedBy: ",").first |
| | | }else{ |
| | | handleView.vioceSoundUrl = listen1Model.storyList[page].error.components(separatedBy: ",").last |
| | | } |
| | | handleView.btn_choose.tag = 10 + index |
| | | handleView.chooseClouse {[weak self] btn in |
| | | guard let weakSelf = self else { return } |
| | | |
| | | var lessionType:Fight_lessonType = .none |
| | | |
| | | lessionType = .success |
| | | if weakSelf.listen1Model.storyList[weakSelf.page].correct == handleView.vioceSoundUrl{ |
| | | lessionType = .success |
| | | }else{ |
| | | lessionType = .fail |
| | | } |
| | | |
| | | switch lessionType { |
| | | case .success: |
| | | // handleView.btn_choose.isEnabled = false |
| | | weakSelf.rootViewModel.correctNum += 1 |
| | | handleView.btn_choose.isSelected = true |
| | | handleView.btn_state.setImage(UIImage(named: "icon_success_small"), for: .normal) |
| | | UIView.animate(withDuration: 0.5) { |
| | | handleView.btn_state.alpha = 1 |
| | | } |
| | | |
| | | // if let cell = self?.collectionView.dequeueReusableCell(withReuseIdentifier: "_SimpleImageCCell", for: self!.viewModel.selectIndex.value!) as? SimpleImageCCell{ |
| | | // self?.viewModel.answerType.accept(.success) |
| | | // } |
| | | DispatchQueue.main.asyncAfter(delay: 1.0) { |
| | | var dict = Dictionary<String,Any>() |
| | | dict["storyIntegral"] = weakSelf.listen1Model.data?.lookIntegral ?? 0 |
| | | dict["storyId"] = weakSelf.listen1Model.data?.id ?? 0 |
| | | NotificationCenter.default.post(name: NextLession_Noti, object: dict) |
| | | VoicePlayer.share().playerEnd() |
| | | return |
| | | } |
| | | |
| | | case .fail: |
| | | weakSelf.rootViewModel.errorNum += 1 |
| | | handleView.btn_state.setImage(UIImage(named: "icon_waring_small"), for: .normal) |
| | | UIView.animate(withDuration: 0.5) { |
| | | handleView.btn_state.alpha = 1 |
| | |
| | | make.height.equalTo(52) |
| | | make.width.greaterThanOrEqualTo(159) |
| | | } |
| | | stackView.addArrangedSubview(handleView) |
| | | tempHandleViews.append(handleView) |
| | | } |
| | | |
| | | tempHandleViews.shuffle() |
| | | stackView.addArrangedSubviews(tempHandleViews) |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | extension HomeListenStory_1_VC:UICollectionViewDataSource{ |
| | | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { |
| | | let m = listen1Model.storyList[page] |
| | | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_SimpleImageCCell", for: indexPath) as! SimpleImageCCell |
| | | cell.img_cover.sd_setImage(with: URL(string: m.img)) |
| | | cell.jq_cornerRadius = 10 |
| | | return cell |
| | | } |