如何在视图动画时识别轻击手势

时间:2011-09-07 16:30:07

标签: ios animation layer gestures

只是想知道是否有方法可以在动画时识别轻击手势?我正在开发一个视图,它有一个连接它的cashapelayer线。当用户平移视图(平移手势)时,相应地跟随该行,直到用户停止平移。此时,执行动画,使视图返回其原始位置,并将系绳层返回。现在我唯一真正的问题是,当视图和系绳动画时,视图不会响应敲击手势......

有人知道一些技巧吗?我希望我的解释是可以理解的,并提前感谢!

(如果系留视图概念不清楚,有一个名为discovr apps的免费应用程序将举例说明)。

3 个答案:

答案 0 :(得分:15)

我假设您正在使用动画的[UIView animateWithDuration: delay: options: animations: completion:];方法。

如果是这样,您需要传递UIViewAnimationOptionAllowUserInteraction作为选项,以使动画视图在动画时响应触摸。

答案 1 :(得分:3)

(Swift 3)传递.allowUserInteraction选项

UIView.animate(withDuration: 0.75, delay: 0.0, options: [.allowUserInteraction], animations: {
      // Desired animation(s) 
}, completion: { (finished: Bool) in
        // Completion
})

答案 2 :(得分:2)

您需要设置两个选项 - UIViewAnimationOptionAllowUserInteractionUIViewAnimationOptionAllowAnimatedContent。首先让你在动画期间与视图交互,第二个强制重绘每个动画帧的视图,而不是使用开始和结束帧的快照。