【发布时间】:2016-02-09 03:53:24
【问题描述】:
我有两个按钮来移动视图。当我按下第一个按钮时,它会移动一个视图,另一个会将它移回。
第一个动画有一个完成块,但是当用户在完成之前将视图移回时,我想阻止这个块执行。
我已尝试使用针对与此类似的其他问题提供的解决方案,但它似乎并没有停止第一个完成块的执行。
@IBOutlet func moveView(sender: AnyObject) {
UIView.animateWithDuration(0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 0, options: .AllowUserInteraction, animations: { /* animation */ }) { _ in /* completion */ }
}
@IBOutlet func moveBack(sender: AnyObject) {
UIView.animateWithDuration(0.0, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 0, options: .BeginFromCurrentState, animations: { /* animation */ }) { _ in /* completion */ }
}
我也尝试删除所有动画,完成参数将为 false,但动画只会跳到结尾并从那里开始动画。
非常感谢任何想法。
【问题讨论】: