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