我有一个 UITapGestureRecognizer 设置,它执行 0.8s UIView 动画。我想要做的是允许用户在 0.8s 期间中断。我将处理事物的动画方面(即使事物从其当前位置开始动画),但当前的问题是在这些 0.8s 期间的任何进一步点击都不会调用 @selector 来自识别器。在通过 @selector 的第一次运行完成之前,任何后续点击都会被阻止。
确认一下,我需要的是一种允许调用来自同一 UITapGestureRecognizer 的同一 @selector 的方法,即使它没有 返回 。那时我可以覆盖动画,告诉它从当前位置开始,并让它完成,即使用户向识别器发送垃圾邮件。
有没有办法做到这一点?我考虑过线程,但我的印象是我不应该在后台线程上进行 UI 更新,所以当有可能是首选方式时,我犹豫是否尝试。
Best Answer-推荐答案 strong>
好吧,如果你想在动画期间允许用户交互,添加 UIViewAnimationOptionAllowUserInteraction 选项,这里是示例,
[UIView animateWithDuration:0.8
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
// your animations
} completion:^(BOOL finished) {
// completion
}];
关于ios - UITapGestureRecognizer 的 Action 在进行中时无法调用?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/23512602/
|