IOS:加载视图后首先点击不工作

时间:2017-04-09 19:58:40

标签: ios viewcontroller uitapgesturerecognizer

我最近注意到我的每个应用视图都有一个特定的错误/行为:如果用户在视图出现时在UI组件上点击太快,则会忽略点击。如果用户在点击之前稍稍等待,则点击工作。

故事板用于故事板,点击手势识别器在UIImageview上并使用IOS 10.2。

通过不同的论坛,我已经阅读了以下选项:

  • 嵌套"现在的视图控制器"在主线程中
  • 在presentviewcontroller之前调用CFRunLoopWakeup
  • 以编程方式添加TapGesturerecognizer
  • 更改"延迟触及结束的状态"和"延迟接触开始"
  • 禁用3d触摸选项,因为据报道其他应用程序中出现类似症状

以上都不成功。 在视图加载后第一次点击时,任何人都会遇到类似的问题吗?

[更新:我意识到这种不当行为不是特定于这个应用程序。尝试两个测试:

  • 为iPhone创建一个xCode项目,为控制器A和控制器B创建两个视图控制器。两个按钮:控制器上的按钮一个视图转到控制器B视图,一个按钮返回控制器B视图返回控制器一个看法。点击从视图A转到B,点击回到B并立即点击按钮转到B.首先点击也不起作用。

  • 进入iPhone的设置。点按通知。按“设置”返回“主要设置”屏幕,然后立即点按“通知”。如果足够快,首先点击不起作用。在第一次点击之前,第二次点击工作或等待一段时间。

现在的问题是:这看起来像iPhone应用程序中的常见问题。你知道某个地方是否会有一个共同的环境?或者这是给定IOS版本的常见错误? ]

的Stephane

1 个答案:

答案 0 :(得分:4)

这是一个普遍问题(更改视图控制器的时刻,第一次点击将被忽略),但这不是因为切换视图控制器的动画尚未完成而发生的错误。如果您将动画设置为false,则视图控制器可以立即响应您的点击,无论速度有多快(无论如何比您的手快):)