只是想知道在动画过程中是否有办法让视图识别点击手势?我正在开发一个视图,其中有一个与之相连的cashapelayer线条。当用户移动视图(平移手势)时,线条会相应地跟随,直到用户停止移动。此时执行动画,将视图和绑定层带回原始位置。现在我的唯一问题是,在视图和绑定层动画时,视图不响应点击手势... 有人知道一些技巧吗?希望我的解释清楚,并提前感谢!(如果绑定视图概念不清楚,有一个名为discovr apps的免费应用程序可以提供示例)。
我假设你正在使用[UIView animateWithDuration: delay: options: animations: completion:];
方法进行动画处理。
如果是这样,你需要将UIViewAnimationOptionAllowUserInteraction
作为选项传递,以使动画视图在动画过程中响应触摸事件。
UIView.animate(withDuration: 0.75, delay: 0.0, options: [.allowUserInteraction], animations: {
// Desired animation(s)
}, completion: { (finished: Bool) in
// Completion
})
你需要设置两个选项 - UIViewAnimationOptionAllowUserInteraction
和 UIViewAnimationOptionAllowAnimatedContent
。第一个选项允许在动画期间与视图交互,第二个选项强制在每帧动画中重新绘制视图,而不使用开始和结束帧的快照。
hitTest:
检查是否在动画视图内部进行了轻拍。 - Kyr Dunenkoff