【发布时间】: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