0
私はUIプログラミングに慣れていません。今では、画面がタップされた回数に基づいて速度で画面パルスを作成しようとしています。私の問題は、タップが検出され、アニメーションの時間が短くなると、最初からアニメーションを開始して、再起動時に白いフラッシュを作成することです。タップが検出された時点でどのような時点からでもアニメーションを高速化するにはどうすればよいでしょうか。既にアニメーションがスピードを使用している間にアニメーションをスピードアップするにはどうすればよいですか?
マイコード:
class ViewController: UIViewController {
var tapCount: Int = 0
var pulseSpeed: Double = 3
override func viewDidLoad() {
super.viewDidLoad()
counter.center = CGPoint(x: 185, y: 118)
pulseAnimation(pulseSpeed: pulseSpeed)
}
func pulseAnimation(pulseSpeed: Double) {
UIView.animate(withDuration: pulseSpeed, delay: 0, options: [UIViewAnimationOptions.repeat, UIViewAnimationOptions.autoreverse],
animations: {
self.red.alpha = 0.5
self.red.alpha = 1.0
})
}
@IBOutlet weak var red: UIImageView!
@IBOutlet weak var counter: UILabel!
@IBAction func screenTapButton(_ sender: UIButton) {
tapCount += 1
counter.text = "\(tapCount)"
pulseSpeed = Double(3)/Double(tapCount)
pulseAnimation(pulseSpeed: pulseSpeed)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}