//
|
// ChooseLevelView.swift
|
// DolphinEnglishLearnStudent
|
//
|
// Created by 无故事王国 on 2024/5/28.
|
//
|
|
import UIKit
|
import JQTools
|
import QMUIKit
|
|
class ChooseLevelView: UIView,JQNibView{
|
|
@IBOutlet weak var view_container: UIView!
|
@IBOutlet weak var tackView_level: UIStackView!
|
@IBOutlet weak var btn_level3: QMUIButton!
|
@IBOutlet weak var btn_level2: QMUIButton!
|
@IBOutlet weak var btn_level1: QMUIButton!
|
|
private var clouseLevel:((Int)->Void)!
|
private var cancelClouse:(()->Void)!
|
private var level:Int = 0
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
alpha = 0
|
transform = .init(scaleX: 0.1, y: 0.1)
|
layoutIfNeeded()
|
btn_level1.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
|
btn_level2.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
|
btn_level3.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
|
|
}
|
|
static func show(canLevel:Int,clouse:@escaping (Int)->Void,cancelClouse:@escaping()->Void){
|
|
var needLoad:Bool = true
|
for v in sceneDelegate?.window?.subviews ?? []{
|
if v is ChooseLevelView{needLoad = false}
|
}
|
|
guard needLoad else {return}
|
|
let levelView = ChooseLevelView.jq_loadNibView()
|
levelView.clouseLevel = clouse
|
levelView.cancelClouse = cancelClouse
|
sceneDelegate?.window?.addSubview(levelView)
|
levelView.frame = sceneDelegate?.window?.frame ?? .zero
|
|
switch canLevel {
|
case 2:
|
levelView.btn_level3.setTitleColor(.black.withAlphaComponent(0.6), for: .normal)
|
fallthrough
|
case 1:
|
levelView.btn_level2.setTitleColor(.black.withAlphaComponent(0.6), for: .normal)
|
fallthrough
|
case 0:
|
levelView.btn_level1.setTitleColor(.black.withAlphaComponent(0.6), for: .normal)
|
default:
|
levelView.btn_level1.setTitleColor(.black.withAlphaComponent(0.6), for: .normal)
|
}
|
|
UIView.animate(withDuration: 0.4) {
|
levelView.transform = .init(scaleX: 1.0, y: 1.0)
|
levelView.alpha = 1
|
} completion: { _ in
|
|
}
|
}
|
|
@IBAction func chooseAction(_ sender: QMUIButton) {
|
|
guard sender.alpha == 1.0 else {
|
sender.alpha = 0.5
|
sender.isSelected = false
|
alertError(msg: "请先完成上一难度再挑战");return
|
}
|
|
level = sender.tag - 10
|
for subView in tackView_level.arrangedSubviews as! [QMUIButton]{
|
subView.isSelected = sender.tag == subView.tag
|
}
|
}
|
|
@IBAction func closeAction(_ sender: UIButton) {
|
UIView.animate(withDuration: 0.4) {
|
self.transform = .init(scaleX: 0.1, y: 0.1)
|
self.alpha = 0
|
} completion: { _ in
|
self.removeFromSuperview()
|
self.cancelClouse()
|
}
|
}
|
|
@IBAction func completeAction(_ sender: UIButton) {
|
UIView.animate(withDuration: 0.4) {
|
self.transform = .init(scaleX: 0.1, y: 0.1)
|
self.alpha = 0
|
} completion: { _ in
|
self.removeFromSuperview()
|
self.clouseLevel(self.level)
|
}
|
}
|
}
|