我可以立即停止第一个 UIView 动画并在同一视图上启动第二个动画吗?

Posted

技术标签:

【中文标题】我可以立即停止第一个 UIView 动画并在同一视图上启动第二个动画吗?【英文标题】:Can I stop immediately first UIView animation and start second animation on same view? 【发布时间】:2019-12-03 01:52:33 【问题描述】:

我有一个关于 UIView 动画的问题。 我做了两个动画。 一种是将视图的 alpha 值从 0.0 更改为 1.0。 另一个是将视图的 alpha 值从 1.0 更改为 0.0。

但是,用户可以在第一个动画完成之前使用第二个动画。 那时,第二个动画不起作用。 (第一个动画正在进行中直到结束)

如果第二个动画函数在第一个结束之前调用,我可以停止第一个动画并开始第二个动画吗?

感谢您的回答!

【问题讨论】:

我找到了解决方案。使用 UIViewPropertyAnimator 是不错的选择。 【参考方案1】:

我想你可以试试这样的:

myView.layer.removeAllAnimations()

找到这个答案:https://***.com/a/2475482/4326715

【讨论】:

以上是关于我可以立即停止第一个 UIView 动画并在同一视图上启动第二个动画吗?的主要内容,如果未能解决你的问题,请参考以下文章

设置UIView属性是否显式停止/完成在同一属性上使用UIViewPropertyAnimator启动的现有动画

如何在按下按钮时播放音频并在我的手指离开同一个按钮时立即停止?

UIView 动画未在值更改事件上设置动画

UiView.animateWithDuration 不为 Swift3 设置动画

iOS - UIView 动画的限制?

拖动时为 UIView 设置动画