From 41aa6375f4086c3bbabd00c710c0734b25962d78 Mon Sep 17 00:00:00 2001 From: 无故事王国 <841720330@qq.com> Date: 星期日, 27 七月 2025 22:54:38 +0800 Subject: [PATCH] 修复BUG,修改逻辑 --- DolphinEnglishLearnStudent/Other/UIView/StudyHandleView.swift | 161 +++++++++++++++++++++++++++-------------------------- 1 files changed, 82 insertions(+), 79 deletions(-) diff --git a/DolphinEnglishLearnStudent/Other/UIView/StudyHandleView.swift b/DolphinEnglishLearnStudent/Other/UIView/StudyHandleView.swift index 3a7e250..7abb5c3 100644 --- a/DolphinEnglishLearnStudent/Other/UIView/StudyHandleView.swift +++ b/DolphinEnglishLearnStudent/Other/UIView/StudyHandleView.swift @@ -12,24 +12,24 @@ class StudyHandleView: UIView,JQNibView{ @IBOutlet weak var view_container: UIView! @IBOutlet weak var btn_choose: UIButton! - @IBOutlet weak var view_choose: UIView! - @IBOutlet weak var btn_state: UIButton! - @IBOutlet weak var btn_voice: UIButton! - @IBOutlet weak var btn_pay: UIButton! + @IBOutlet weak var view_choose: UIView! + @IBOutlet weak var btn_state: UIButton! + @IBOutlet weak var btn_voice: UIButton! + @IBOutlet weak var btn_pay: UIButton! - var listenType:ListenType? - private var clouse:((UIButton)->Void)? - private var playComplete:(()->Void)? - private var playAtClouse:((Int)->Void)? + var listenType:ListenType? + private var clouse:((UIButton)->Void)? + private var playComplete:(()->Void)? + private var playAtClouse:((Int)->Void)? - var voicePlayer = VoicePlayer.share() - var vioceSoundUrl:String? + var voicePlayer = VoicePlayer.share() + var vioceSoundUrl:String? var isplayend:Bool = false - override func awakeFromNib() { - super.awakeFromNib() - btn_state.alpha = 0 - view_choose.alpha = 0 + override func awakeFromNib() { + super.awakeFromNib() + btn_state.alpha = 0 + view_choose.alpha = 0 alpha = 0 btn_voice.setImage(UIImage(named: "icon_play_1"), for: .normal) @@ -38,80 +38,83 @@ btn_choose.setImage(UIImage(named: "btn_radio_u"), for: .normal) btn_choose.setImage(UIImage(named: "btn_radio"), for: .selected) - } + } - func chooseClouse(callback:@escaping (UIButton)->Void){ - clouse = callback - } + func chooseClouse(callback:@escaping (UIButton)->Void){ + clouse = callback + } - func playAt(_ clouse:@escaping(Int)->Void){ - self.playAtClouse = clouse - } + func playAt(_ clouse:@escaping(Int)->Void){ + self.playAtClouse = clouse + } - func copyView()->StudyHandleView{ - let copyV = StudyHandleView.jq_loadNibView() - copyV.bounds = self.bounds - copyV.tag = self.tag - copyV.vioceSoundUrl = self.vioceSoundUrl - return copyV - } + func copyView()->StudyHandleView{ + let copyV = StudyHandleView.jq_loadNibView() + copyV.bounds = self.bounds + copyV.tag = self.tag + copyV.vioceSoundUrl = self.vioceSoundUrl + return copyV + } - func resetView(){ - switch listenType { - case .lesson1,.lesson5,.game1: - UIView.animate(withDuration: 0.25) { - self.btn_state.setImage(UIImage(named: "icon_play"), for: .normal) - self.btn_voice.alpha = 1 - self.btn_pay.alpha = 1 - self.btn_state.alpha = 0 - } - case .lesson2: - UIView.animate(withDuration: 0.25) { - self.btn_state.setImage(UIImage(named: "icon_play"), for: .normal) - self.btn_voice.alpha = 1 - self.btn_pay.alpha = 1 - self.btn_state.alpha = 0 - self.view_choose.alpha = 1 - } - default:break - } - } + func resetView(){ + switch listenType { + case .lesson1,.lesson5,.game1: + UIView.animate(withDuration: 0.25) { + self.btn_state.setImage(UIImage(named: "icon_play"), for: .normal) + self.btn_voice.alpha = 1 + self.btn_pay.alpha = 1 + self.btn_state.alpha = 0 + } + case .lesson2: + UIView.animate(withDuration: 0.25) { + self.btn_state.setImage(UIImage(named: "icon_play"), for: .normal) + self.btn_voice.alpha = 1 + self.btn_pay.alpha = 1 + self.btn_state.alpha = 0 + self.view_choose.alpha = 1 + } + default:break + } + } - func isplaying(){ + func isplaying(){ isplayend = true alpha = 1 - switch listenType { - case .lesson1,.lesson5,.game1: - UIView.animate(withDuration: 0.25) { - self.btn_state.setImage(UIImage(named: "icon_playing")?.themeGreen, for: .normal) - self.btn_voice.alpha = 0 - self.btn_pay.alpha = 0 - self.btn_state.alpha = 1 - } - break - case .lesson2: - UIView.animate(withDuration: 0.25) { - self.btn_state.setImage(UIImage(named: "icon_playing")?.themeGreen, for: .normal) - self.btn_voice.alpha = 0 - self.btn_pay.alpha = 0 - self.btn_state.alpha = 1 - self.view_choose.alpha = 1 - } + switch listenType { + case .lesson1,.lesson5,.game1: + UIView.animate(withDuration: 0.25) { + self.btn_state.setImage(UIImage(named: "icon_playing")?.themeGreen, for: .normal) + self.btn_voice.alpha = 0 + self.btn_pay.alpha = 0 + self.btn_state.alpha = 1 + } + break + case .lesson2: + UIView.animate(withDuration: 0.25) { + self.btn_state.setImage(UIImage(named: "icon_playing")?.themeGreen, for: .normal) + self.btn_voice.alpha = 0 + self.btn_pay.alpha = 0 + self.btn_state.alpha = 1 + self.view_choose.alpha = 1 + } - default:break - } - } + default:break + } + } - @IBAction func payAction(_ sender: UIButton) { - guard let v = vioceSoundUrl else {return} - voicePlayer.playerAt(url: v) - playAtClouse?(self.tag) - isplaying() + @IBAction func payAction(_ sender: UIButton) { + guard let v = vioceSoundUrl else {return} + voicePlayer.playerAt(url: v) + voicePlayer.playerAt(url: v) {[weak self] in + self?.resetView() + } + playAtClouse?(self.tag) + isplaying() - } + } - @IBAction func chooseAction(_ sender: UIButton) { - sender.isSelected = !sender.isSelected - clouse?(sender) - } + @IBAction func chooseAction(_ sender: UIButton) { + sender.isSelected = !sender.isSelected + clouse?(sender) + } } -- Gitblit v1.7.1