Ich versuche, eine UIImageView zu animieren und dann die Bildansicht zu verbergen, nachdem die Animation abgeschlossen ist. Die Bildansicht wird jedoch ausgeblendet, bevor die Animation abgeschlossen ist. Ich habe mir ähnliche Fragen angesehen und empfehle, einen Animations-Listener zu implementieren oder den .hidden-Code innerhalb des Animations-Codes nach der Fertigstellung auszuführen, aber ich bin mir nicht sicher, wie ich dies innerhalb der folgenden shakeView() - Funktion beeinflussen kann.Warten Sie, bis die schnelle Animation abgeschlossen ist, bevor Sie den Code ausführen
Wie kann ich die Shake-Animation anzeigen und die Bildansicht nur ausblenden, nachdem die Animation abgeschlossen ist?
Animation, wird mit dem folgenden Code aufgerufen:
shakeView(image1!)
shakeView(image2)
image1!.hidden = true
image2.hidden = true
Die Animation Funktion selbst sieht wie folgt aus:
func shakeView(iv: UIImageView){
var shake:CABasicAnimation = CABasicAnimation(keyPath: "position")
shake.duration = 0.1
shake.repeatCount = 2
shake.autoreverses = true
var from_point:CGPoint = CGPointMake(iv.center.x - 5, iv.center.y)
var from_value:NSValue = NSValue(CGPoint: from_point)
var to_point:CGPoint = CGPointMake(iv.center.x + 5, iv.center.y)
var to_value:NSValue = NSValue(CGPoint: to_point)
shake.fromValue = from_value
shake.toValue = to_value
iv.layer.addAnimation(shake, forKey: "position")
}
See in https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/CreatingBasicAnimations/CreatingBasicAnimations.html#//apple_ref/doc/ "das Ende einer Animation Erkennung" uid/TP40004514-CH3-SW1 – Paulw11