実装したいこと
UIViewとLabelを使ってカウントダウンを行うアニメーションを作りたいです。
試したこと
以下のコードを実行したところ、「3・2・1」とはならず、最初からcountDownLabelに"1"が代入されていました。
countDownViewの色の変化は想定通りに実装できました。
swift
1 UIView.animateKeyframes(withDuration: 3, delay: 0, options: [.autoreverse],animations: { 2 3 UIView.addKeyframe(withRelativeStartTime: 0, relativeDuration: 0.3, animations: { 4 self.countDownLabel.text = "3" 5 self.countDownView.backgroundColor = .systemPink 6 7 }) 8 9 UIView.addKeyframe(withRelativeStartTime: 0.3, relativeDuration: 0.3, animations: { 10 11 self.countDownLabel.text = "2" 12 self.countDownView.backgroundColor = .orange 13 14 } ) 15 16 UIView.addKeyframe(withRelativeStartTime: 0.6, relativeDuration: 0.3) { 17 18 self.countDownLabel.text = "1" 19 self.countDownView.backgroundColor = .green 20 } 21 }) 22 }
質問
UIView.addKeyframeが呼ばれると同時にcountDownLabelを変更するにはどうすれば良いでしょうか?
クロージャーについての理解があまりできていないので、実際のコードを記載してもらえると大変助かります。
あなたの回答
tips
プレビュー