菜鸟教程小白 发表于 2022-12-12 22:13:36

ios - UITapGestureRecognizer 的 Action 在进行中时无法调用?


                                            <p><p>我有一个 <code>UITapGestureRecognizer</code> 设置,它执行 <code>0.8s</code> <code>UIView</code> 动画。我想要做的是允许用户在 <code>0.8s</code> 期间中断。我将处理事物的动画方面(即使事物从其当前位置开始动画),但当前的问题是在这些 <code>0.8s</code> 期间的任何进一步点击都不会调用 <code>@selector </code> 来自识别器。在通过 <code>@selector</code> 的第一次运行完成之前,任何后续点击都会被阻止。</p>

<p>确认一下,我需要的是一种允许调用来自同一 <code>UITapGestureRecognizer</code> 的同一 <code>@selector</code> 的方法,即使它没有 <code>返回</code>。那时我可以覆盖动画,告诉它从当前位置开始,并让它完成,即使用户向识别器发送垃圾邮件。</p>

<p>有没有办法做到这一点?我考虑过线程,但我的印象是我不应该在后台线程上进行 UI 更新,所以当有可能是首选方式时,我犹豫是否尝试。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>好吧,如果你想在动画期间允许用户交互,添加 UIViewAnimationOptionAllowUserInteraction 选项,这里是示例,</p>

<pre><code>[UIView animateWithDuration:0.8
                      delay:0.0
                  options:UIViewAnimationOptionAllowUserInteraction
               animations:^{
                     // your animations
               } completion:^(BOOL finished) {
                     // completion
               }];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UITapGestureRecognizer 的 Action 在进行中时无法调用?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23512602/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23512602/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UITapGestureRecognizer 的 Action 在进行中时无法调用?