数字の10から始まって毎秒カウントダウンするアプリケーションを作成しました。カウントダウンはアニメーションです。コードは次のとおりです。タイマでUIView.animateを実行する
import UIKit
class ViewController: UIViewController {
var startNumber = 10
lazy var numberLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.font = label.font.withSize(160)
label.textColor = .lightGray
return label
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
view.addSubview(numberLabel)
NSLayoutConstraint.activate([
numberLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor),
numberLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
_ = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { (time) in
self.numberLabel.text = String(self.startNumber)
self.startNumber -= 1
UIView.animate(withDuration: 0.99, animations: {
self.numberLabel.alpha = 0
}, completion: { (true) in
self.numberLabel.alpha = 1
})
}
}
}
UIViewとTimerの間隔が等しい場合、カウントダウンで不均一な数値のアニメーションが表示されます。そのため、コードでは、UIView間隔が1ではなく0.99に設定され、すべての数値に対してアニメーションカウントダウンが表示されます。なぜ)
1:アニメーションはまだあなたがミリ秒で数字「フリック」を見ることができるので、スムーズではありませんが、私は間隔が150に設定されている代わりの1
私の質問があるので、それだと仮定しますUIViewとTimerで等しい間隔を設定すると、奇数のカウントダウンアニメーションになりますか?
2)カウントダウンのカウントは1秒ごとまたは0.99秒間カウントダウンされますか?
これは完全に動作します、ありがとうございます! – Hapeki