let msgList = [["item": "连续上班5天","score": 2],["item": "本次排名1名","score": 5],["item": "平均上班时长度10小时","score": 3]]
var msgLabels = [UILabel]()
override func viewDidLoad() {
super.viewDidLoad()
if let msgs = self.msgList as? [[String: Any]] {
for (idx, itemObjc) in msgs.enumerated() {
let label = UILabel(frame: CGRect(x: 0, y: 300, width: Int(view.bounds.width), height: 25))
label.textAlignment = .center
label.font = UIFont.systemFont(ofSize: 15)
label.textColor = .white
label.tag = idx
label.text = "\(itemObjc["item"] ?? "")" + " +\(itemObjc["score"] ?? "")"
view.addSubview(label)
label.isHidden = true
msgLabels.append(label)
}
}
let button = UIButton(type: .custom)
button.frame = CGRect(x: 80, y: 100, width: 200, height: 50)
button.backgroundColor = UIColor.blue
button.setTitle("开始动画", for: .normal)
button.setTitleColor(UIColor.white, for: .normal)
button.addTarget(self, action: #selector(clickAction), for: .touchUpInside)
view.addSubview(button)
button.layer.cornerRadius = 25
// Do any additional setup after loading the view.
}
@objc func clickAction(sender: UIButton) {
for (indx,label) in self.msgLabels.enumerated() {
label.alpha = 0
UIView.animate(withDuration: 0.6, delay: Double(indx)*0.6, options: .transitionFlipFromTop) {
label.isHidden = false
label.frame = CGRect(x: 0, y: 240, width: self.view.bounds.width, height: 25)
label.alpha = 1
} completion: { (_) in
label.frame = CGRect(x: 0, y: 300, width: Int(self.view.bounds.width), height: 25)
label.isHidden = true
}
}
}