0

我正在开发一个我使用的应用程序

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

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

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

-(void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
}

现在我在 iphone 3 中的问题touch move是调用handleSingleTap函数并且touchesEnded没有被调用。这只发生在屏幕的下部,当我移动到那里时,触摸端没有被调用。如果我移动很长时间,就会touchesEnded被调用。

但是这个东西在 iPhone4 和 iPad 上都能正常工作。在IPhone4和IPad之后touchsesMoved就是调用了touchesEnded

4

1 回答 1

0

您不是唯一遇到此问题的人。我在 Apple 支持论坛列表中找到了类似的主题:https ://discussions.apple.com/thread/1507669?start=0&tstart=0

这个线程可以追溯到 2008 年,与 iPhone 3 相吻合,所以我想这可能是在 iPhone 3 上运行的 iOS 上的一个未修复的错误。

否则,如果不是这种情况,可能是因为您使用的是 UIScrollView(其控制器正在实现您上面列出的触摸方法)。默认情况下,它有一个名为的方法:

delaysContentTouches

设置为YES。也许您应该将其更改为 no 并说出它的行为方式。

如果您没有使用 UIScrollView,可能是您正在使用两个视图,而包含“死区”的第二个视图未连接到您的控制器?

于 2011-11-25T15:40:14.303 回答