【问题标题】:Miss a single tap randomly随机错过一个水龙头
【发布时间】:2010-04-07 22:46:04
【问题描述】:

我有以下代码sn-ps

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];
    NSUInteger numberTaps = [touch tapCount];

    // Tapping
    if (numberTaps > 0) {
       // do something
    }

...

上面的代码基本上检测小图像上的单击(宽度 = 18 和高度 = 36)。它在 90% 的时间里都能检测到一次点击。

但它有时会错过它(随机)。我必须点按几次才能获得单击。

我做错了什么或错过了什么,因此我可以始终如一地检测到 100% 的单击?

【问题讨论】:

  • 你怎么知道它不仅仅是硬件的性质?
  • 好点。但似乎其他应用程序运行良好。
  • 要调试此问题,您可以使用 Matt Gallagher 的 supersequent implementation 调用实际实现的 UIApplication 上的类别中的 -[UIApplication sendEvent:]。这样做可以让您掌握点击屏幕时创建的事件并获得与其相关的所有触摸(通过-[UIEvent allTouches])。从 UITouch(大概只有一个在从 allTouches 返回的 NSSet 中)你可以看到使用 -[UITouch view] 进行触摸。

标签: ios objective-c touches


【解决方案1】:

您可能错过了点击,因为您的手指不够准确,无法始终点击硬件上的正确位置。我的应用程序中有可以点击的小图像,我经常想念它们。尝试将图像放大以验证它是否始终有效。您可以人为地将图像放大并在其周围留有空白以使其更准确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2014-10-04
    • 2011-02-11
    • 2011-07-06
    相关资源
    最近更新 更多