zu beenden Ich bin Swift immer noch ziemlich neu. Ich frage mich, wie ich eine Animationsfunktion schnell außerhalb der Ausführung der Funktion beenden kann. In dem Fall unten führe ich eine Animation für 15 Sekunden aus, aber jedes Mal, wenn ein Benutzer eine bestimmte Taste drückt, möchte ich, dass die Animation stoppt und die Elemente verschwinden. Irgendwelche Gedanken über den besten Weg, dies zu tun? Hier ist die Funktion.Swift: Wie eine Funktion außerhalb der Ausführung der Funktion
func createTimerAnimation() {
// create timer line shapes
guard self.timerisActive else {
print("in guard 1")
return
}
let screenWidth = (self.view.bounds.width)
let screenHeight = (self.view.bounds.height)
let timerShapeLeft = drawTimerShape()
let timerShapeRight = drawTimerShape()
let timerShapeCenter = drawTimerShape()
view.addSubview(timerShapeLeft)
view.addSubview(timerShapeRight)
view.addSubview(timerShapeCenter)
UIView.animate(withDuration: 14.5, delay: 0.0, options: [.curveEaseOut], animations:{
timerShapeLeft.frame = CGRect (x: (screenWidth/2), y: (screenHeight - 60), width: timerShapeLeft.frame.width, height: (timerShapeLeft.frame.height - 30))
timerShapeRight.frame = CGRect (x: (screenWidth/2), y: (screenHeight - 60), width: timerShapeRight.frame.width, height: (timerShapeRight.frame.height - 30))
timerShapeCenter.frame = CGRect (x: (screenWidth/2), y: (screenHeight - 60), width: timerShapeCenter.frame.width, height: (timerShapeCenter.frame.height))
timerShapeLeft.alpha = 1.0
timerShapeRight.alpha = 1.0
timerShapeCenter.alpha = 0.4
timerShapeLeft.tintColor = self.hexGray
timerShapeRight.tintColor = self.hexGray
guard self.timerisActive else {
print("in guard 1")
return
}