| | |
| | | |
| | | 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 |
| | | private var limitLevel:Int = 0 |
| | | @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! |
| | | |
| | | override func awakeFromNib() { |
| | | super.awakeFromNib() |
| | | alpha = 0 |
| | | transform = .init(scaleX: 0.1, y: 0.1) |
| | | layoutIfNeeded() |
| | | btn_level1.alpha = 0.5 |
| | | btn_level2.alpha = 0.5 |
| | | btn_level3.alpha = 0.5 |
| | | private var clouseLevel:((Int)->Void)! |
| | | private var cancelClouse:(()->Void)! |
| | | private var level:Int = 0 |
| | | private var limitLevel:Int = 0 |
| | | |
| | | btn_level3.tag = 12 |
| | | btn_level2.tag = 11 |
| | | btn_level1.tag = 10 |
| | | override func awakeFromNib() { |
| | | super.awakeFromNib() |
| | | alpha = 0 |
| | | transform = .init(scaleX: 0.1, y: 0.1) |
| | | layoutIfNeeded() |
| | | btn_level1.alpha = 0.5 |
| | | btn_level2.alpha = 0.5 |
| | | btn_level3.alpha = 0.5 |
| | | |
| | | } |
| | | btn_level3.tag = 12 |
| | | btn_level2.tag = 11 |
| | | btn_level1.tag = 10 |
| | | |
| | | 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} |
| | | } |
| | | static func show(canLevel:Int,clouse:@escaping (Int)->Void,cancelClouse:@escaping()->Void){ |
| | | |
| | | guard needLoad else {return} |
| | | var needLoad:Bool = true |
| | | for v in sceneDelegate?.window?.subviews ?? []{ |
| | | if v is ChooseLevelView{needLoad = false} |
| | | } |
| | | |
| | | let levelView = ChooseLevelView.jq_loadNibView() |
| | | levelView.limitLevel = canLevel |
| | | levelView.clouseLevel = clouse |
| | | levelView.cancelClouse = cancelClouse |
| | | sceneDelegate?.window?.addSubview(levelView) |
| | | levelView.frame = sceneDelegate?.window?.frame ?? .zero |
| | | guard needLoad else {return} |
| | | |
| | | switch canLevel { |
| | | case 2: |
| | | levelView.btn_level3.alpha = 1 |
| | | let levelView = ChooseLevelView.jq_loadNibView() |
| | | levelView.limitLevel = canLevel |
| | | levelView.clouseLevel = clouse |
| | | levelView.cancelClouse = cancelClouse |
| | | sceneDelegate?.window?.addSubview(levelView) |
| | | levelView.frame = sceneDelegate?.window?.frame ?? .zero |
| | | |
| | | fallthrough |
| | | case 1: |
| | | levelView.btn_level2.alpha = 1 |
| | | switch canLevel { |
| | | case 2: |
| | | levelView.btn_level3.alpha = 1 |
| | | |
| | | fallthrough |
| | | case 0: |
| | | levelView.btn_level1.alpha = 1 |
| | | default: |
| | | levelView.btn_level1.alpha = 1 |
| | | } |
| | | fallthrough |
| | | case 1: |
| | | levelView.btn_level2.alpha = 1 |
| | | |
| | | UIView.animate(withDuration: 0.4) { |
| | | levelView.transform = .init(scaleX: 1.0, y: 1.0) |
| | | levelView.alpha = 1 |
| | | } completion: { _ in |
| | | levelView.layoutIfNeeded() |
| | | } |
| | | } |
| | | fallthrough |
| | | case 0: |
| | | levelView.btn_level1.alpha = 1 |
| | | default: |
| | | levelView.btn_level1.alpha = 1 |
| | | } |
| | | |
| | | @IBAction func chooseAction(_ sender: QMUIButton) { |
| | | UIView.animate(withDuration: 0.4) { |
| | | levelView.transform = .init(scaleX: 1.0, y: 1.0) |
| | | levelView.alpha = 1 |
| | | } completion: { _ in |
| | | levelView.layoutIfNeeded() |
| | | } |
| | | } |
| | | |
| | | level = sender.tag - 10 |
| | | @IBAction func chooseAction(_ sender: QMUIButton) { |
| | | |
| | | guard level <= limitLevel else { |
| | | DispatchQueue.main.asyncAfter(deadline: .now()+0.1) { |
| | | 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 |
| | | guard level <= limitLevel else { |
| | | DispatchQueue.main.asyncAfter(deadline: .now()+0.1) { |
| | | sender.alpha = 0.5 |
| | | sender.isSelected = false |
| | | } |
| | | alertError(msg: "请先完成上一难度再挑战");return |
| | | } |
| | | |
| | | if subView.isSelected{ |
| | | 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() |
| | | } |
| | | } |
| | | if subView.isSelected{ |
| | | level = sender.tag - 10 |
| | | } |
| | | } |
| | | } |
| | | |
| | | @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() |
| | | @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() |
| | | } |
| | | } |
| | | |
| | | if self.btn_level1.isSelected{ |
| | | self.clouseLevel(0) |
| | | } |
| | | @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() |
| | | |
| | | if self.btn_level2.isSelected{ |
| | | self.clouseLevel(1) |
| | | } |
| | | if self.btn_level1.isSelected{ |
| | | self.clouseLevel(0) |
| | | } |
| | | |
| | | if self.btn_level3.isSelected{ |
| | | self.clouseLevel(2) |
| | | } |
| | | if self.btn_level2.isSelected{ |
| | | self.clouseLevel(1) |
| | | } |
| | | |
| | | if self.btn_level3.isSelected{ |
| | | self.clouseLevel(2) |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |