从Swift中的UIView上的特定点开始淡入淡出动画

时间:2016-08-22 15:16:42

标签: ios swift animation optimization uiview

我遇到动画淡入和淡出问题。

我有一个简单的设置,在故事板上我有一个名为UIView的{​​{1}}。

我想要做的是当用户触摸屏幕时淡入myView,当用户停止触摸屏幕时淡出myView。我可以使用下面的代码实现这一点。淡入淡出发生在五秒钟之内。

然而,当用户开始触摸或在淡入或淡出动画中途停止触摸屏幕时,会出现问题。

例如,当用户停止触摸屏幕时,而不是淡入动画优雅地停止当前位置的myView淡入并使用淡出动画反转,实际发生的是{ {1}} myView在开始淡出之前跳转到myView

问题:

  

需要对以下代码进行哪些更改以确保每个新代码   动画,淡入或淡出,中断当前的淡入淡出动画   发生在alpha上,并从当前的1.0开始   之前的淡入淡出动画?

代码:

myView

1 个答案:

答案 0 :(得分:3)

问题是,您的touchesEnded动画会中断您的touchesBegan动画,从而导致touchesBegan动画被移除并显示您已将alpha设置为{ 1。

为防止这种情况发生,请在options: .beginFromCurrentState选项中加入