【发布时间】:2015-01-10 22:50:07
【问题描述】:
我正在尝试为 UIImageView 设置动画,然后在动画完成后隐藏图像视图。然而,图像视图在动画完成之前被隐藏。我查看了类似的问题,他们建议在完成后实现动画侦听器或在动画代码中执行 .hidden 代码,但是我不确定如何在下面的 ShakeView() 函数中影响这一点。
如何在动画完成后才显示摇动动画并隐藏图像视图?
使用以下代码调用动画:
shakeView(image1!)
shakeView(image2)
image1!.hidden = true
image2.hidden = true
动画函数本身是这样的:
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")
}
【问题讨论】: