只是想知道是否有方法可以在动画时识别轻击手势?我正在开发一个视图,它有一个连接它的cashapelayer线。当用户平移视图(平移手势)时,相应地跟随该行,直到用户停止平移。此时,执行动画,使视图返回其原始位置,并将系绳层返回。现在我唯一真正的问题是,当视图和系绳动画时,视图不会响应敲击手势......
有人知道一些技巧吗?我希望我的解释是可以理解的,并提前感谢!
(如果系留视图概念不清楚,有一个名为discovr apps的免费应用程序将举例说明)。
答案 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)
您需要设置两个选项 - UIViewAnimationOptionAllowUserInteraction
和UIViewAnimationOptionAllowAnimatedContent
。首先让你在动画期间与视图交互,第二个强制重绘每个动画帧的视图,而不是使用开始和结束帧的快照。