ios - Swift - removeAllAnimations() - 一个接一个的动画

标签 ios swift animation uiviewanimation

因此,当 View 加载时,我制作了一个按钮移动到屏幕上特定点 (CGPoint) 的动画。我还添加了一个 swipeGestureRecogniser,如果用户向左滑动,则动画将停止并开始一个新的动画,将按钮带到不同的 CGPoint。我通过调用按钮上的 removeAllAnimations() 方法来完成此操作。问题是当用户向左滑动时,按钮完成了第一个动画而没有动画。所以它不会停止并开始新的动画,而是跳到第一个动画的末尾,然后继续下一个动画。有没有办法停止第一个动画并无缝地开始下一个?

这是代码:

Code

最佳答案

它按预期工作。在您调用 removeAllAnimations() 时,只有一个动画要删除 - 第二个将添加到第一个的完成 block 中。因此,除了嵌套动画,您还可以尝试类似的方法:

// first animation
UIView.animate(withDuration: 5, delay: 0, options: .curveLinear, animations: { /... }, completion: { //... })
// second animation
UIView.animate(withDuration: 5, delay: 5, animations: { /... })

关于ios - Swift - removeAllAnimations() - 一个接一个的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45188905/

相关文章:

ios - Realm() 究竟是如何工作的?

ios - 无法调用来自 SDWebImage 的调用

ios - 在新的 Swift View Controller 文件上添加按钮不起作用

animation - CSS3 链式动画

c# - 如果集合发生变化,Listview 中的 Xamarin.Forms 动画将停止工作

FLUTTER - 如何防止 RiveAnimationController 在播放结束时重置?

ios - 条件语句中的守卫

ios - "No routes found"在谷歌地图上首次启动

ios - 如何在我的应用程序中重用默认的 iPhone 应用程序功能?

ios - 尝试将变量传递给带有 segue 的 View Controller 时变量 nil