UIGestureRecognizer 中的 UIView 动画

Posted

技术标签:

【中文标题】UIGestureRecognizer 中的 UIView 动画【英文标题】:UIView animation inside UIGestureRecognizer 【发布时间】:2012-12-04 02:56:43 【问题描述】:

我有一个响应点击手势运行几秒钟的动画。在动画运行时,UITapGestureRecognizer 不会响应额外的点击。动画完成后,识别器再次工作。

我试过在里面运行动画

dispatch_async(dispatch_get_main_queue(), etc.

但其他水龙头仍被阻止。如果我尝试在里面运行动画

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), etc.

然后动画根本不显示。我依稀记得在某处读到动画必须在主线程上运行。

对于运行不会阻止后续手势的动画有什么建议吗?谢谢。

【问题讨论】:

【参考方案1】:

如果您使用 UIView 动画块,您可以使用 +animateWithDuration:delay:options:animations:completion:UIViewAnimationOptionAllowUserInteraction 选项。

另外,动画必须在主线程上执行是正确的。

【讨论】:

谢谢,这正是我所需要的。我使用的是更基本的 animateWithDuration: 方法。

以上是关于UIGestureRecognizer 中的 UIView 动画的主要内容,如果未能解决你的问题,请参考以下文章

有时在 UIGestureRecognizer 处理程序后未触发 IBAction

如何将 UIGestureRecognizer 限制为特定的 UIView?

Swift Playgrounds 中的 UIGestureRecognizer

UIView 对象中的 UIGestureRecognizer

UIGestureRecognizer 中的 UIView 动画

UIGestureRecognizer 处理 UITableView 中的触摸