动画正在运行,但是完成处理程序似乎没有识别动画的结束。我想在动画完成后调用println。我怎样才能最好地实现这一目标?
var vaultClosedImage = UIImageView(image: UIImage(named: "vaultClosedAlpha.png"))
override func animationDidStop(anim: CAAnimation!, finished flag: Bool) {
if flag {
println("here I am")
}
}
override func viewDidLoad() {
super.viewDidLoad()
let vaultImages:[AnyObject] = [UIImage(named: "vaultOpening0001.png")!, ...]
vaultClosedImage.animationImages = vaultImages
vaultClosedImage.animationRepeatCount = 1
vaultClosedImage.animationDuration = 1
vaultClosedImage.frame = UIScreen.mainScreen().bounds
vaultClosedImage.contentMode = UIViewContentMode.ScaleAspectToFill
self.view.addSubview(vaultClosedImage)
}
编辑:澄清问题。
答案 0 :(得分:0)
完成处理程序似乎没有识别动画的结束
UIImageView图像动画没有“完成处理程序”。它比那更简单。
如果你想要一个完成处理程序,请使用某种 具有完成处理程序的动画。
(在你的情况下,我不明白为什么你甚至需要一个完成处理程序。你知道这个动画什么时候结束:从现在开始1秒。所以只需设置一个NSTimer给你回电话然后。)