UIImageView에 애니메이션을 적용한 다음 애니메이션이 완료된 후에 이미지보기를 숨기려고합니다. 그러나 이미지 뷰는 애니메이션이 완료되기 전에 숨겨집니다. 비슷한 질문을하고 애니메이션 리스너를 구현하거나 완료시 애니메이션 코드 내에서 .hidden 코드를 실행하는 것이 좋지만 아래 shakeView() 함수에서 어떻게 영향을 주는지 확신 할 수 없습니다.코드 실행 전에 Swift 애니메이션이 완료 될 때까지 기다리십시오.
애니메이션이 완료된 후에 만 흔들기 애니메이션을 표시하고 이미지보기를 숨기려면 어떻게해야합니까?
shakeView(image1!)
shakeView(image2)
image1!.hidden = true
image2.hidden = true
애니메이션 기능 자체는 다음과 같습니다 :
Paulw11 그의 주석에서 언급으로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")
}
참조 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/CreatingBasicAnimations/CreatingBasicAnimations.html#//apple_ref/doc/에서 "애니메이션의 종료를 검출" uid/TP40004514-CH3-SW1 – Paulw11