我正在创建一个游戏,其中我的UIImage的大小正在改变,用户必须在正确的时间按屏幕才能停止动画。然后将结束大小与固定常数进行比较,以根据用户的接近程度给出用户点数。有没有办法使用.removeAllAnimations()方法并获得当时的大小?我尝试使用view.bounds,view.frame,view.layer.frame和view.layer.bounds,他们都错了。我应该使用另一种方法吗?
答案 0 :(得分:1)
UIView和UIViewController(以及NSView和NSViewController)都充当CAAnimationDelegate,它具有以下方法:
override func animationDidStop(anim: CAAnimation, finished flag: Bool)
override func animationDidStart(anim: CAAnimation)
因此,将动画的委托设置为任何视图,控制器并使用这些方法来处理停止,启动事件。
e.g。
let anim = CAAnimation()
... set animation up here
anim.delegate = self