//
|
// GameBeginTipView.swift
|
// DolphinEnglishLearnStudent
|
//
|
// Created by 无故事王国 on 2024/5/28.
|
//
|
|
import UIKit
|
import JQTools
|
import QMUIKit
|
|
class GameBeginTipView: UIView,JQNibView{
|
|
@IBOutlet weak var view_container: UIView!
|
@IBOutlet weak var label_time: UILabel!
|
|
private var completeClouse:(()->Void)!
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
alpha = 0
|
transform = .init(scaleX: 0.1, y: 0.1)
|
layoutIfNeeded()
|
}
|
|
static func show(clouse:@escaping ()->Void){
|
let levelView = GameBeginTipView.jq_loadNibView()
|
levelView.completeClouse = clouse
|
sceneDelegate?.window?.addSubview(levelView)
|
levelView.frame = sceneDelegate?.window?.frame ?? .zero
|
|
UIView.animate(withDuration: 0.4) {
|
levelView.transform = .init(scaleX: 1.0, y: 1.0)
|
levelView.alpha = 1
|
} completion: { _ in
|
levelView.layoutIfNeeded()
|
var time:Int = 5
|
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in
|
time -= 1
|
levelView.label_time.text = "\(time)"
|
levelView.animation()
|
if time <= 0{
|
timer.invalidate()
|
UIView.animate(withDuration: 0.4) {
|
levelView.transform = .init(scaleX: 0.1, y: 0.1)
|
levelView.alpha = 0
|
} completion: { _ in
|
levelView.removeFromSuperview()
|
levelView.completeClouse()
|
}
|
}
|
}
|
}
|
}
|
|
private func animation(){
|
let aniLabel = label_time.customCopy()
|
aniLabel.frame = label_time.frame
|
self.view_container.addSubview(aniLabel)
|
UIView.animate(withDuration: 1.0) {
|
aniLabel.alpha = 0
|
aniLabel.transform = .init(scaleX: 2.5, y: 2.5)
|
}completion: { _ in
|
aniLabel.removeFromSuperview()
|
}
|
}
|
|
@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.completeClouse()
|
}
|
}
|
}
|
|
private extension UILabel{
|
func customCopy()->UILabel{
|
let copyLabel = UILabel()
|
copyLabel.font = self.font
|
copyLabel.alpha = 1
|
copyLabel.text = self.text
|
copyLabel.textColor = self.textColor
|
copyLabel.textAlignment = .center
|
return copyLabel
|
}
|
}
|