无故事王国
6 天以前 41aa6375f4086c3bbabd00c710c0734b25962d78
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)
    }
}