我正在开发一个我使用
的应用程序- (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 {
}
现在我在touch move
调用handleSingleTap
函数并且touchesEnded
没有被调用后在iphone 3中出现问题。这种情况只发生在屏幕的某些下半部分,当我移动触摸结束时没有被调用。如果我移动很长,那么touchesEnded
会被调用。
但是这个东西在IPhone4和IPad中正常工作。
在touchsesMoved
之后的IPhone4和IPad中,它正在调用touchesEnded
。
答案 0 :(得分:1)
您不是唯一遇到此问题的人。我在Apple Support论坛列表中找到了类似的主题:https://discussions.apple.com/thread/1507669?start=0&tstart=0
这个帖子的历史可以追溯到2008年,与iPhone 3相吻合,所以我想这可能是iPhone 3上运行iOS的一个不固定的错误。
否则,如果不是这种情况,可能是因为您使用的是UIScrollView(其控制器正在实施您上面列出的触摸方法)。默认情况下,它有一个名为:
的方法delaysContentTouches
设置为YES。也许你应该将它改为否,并说出它的行为。
如果您没有使用UIScrollView,可能是您正在使用两个视图而第二个包含“死区”的视图未连接到您的控制器?