在iPhone 6 Plus之前,每件事情都很好.它上面的所有设备如iPhone 6s和7都会产生问题.
当我单击一个按钮时,touchesBegan按预期调用,但touchesMoved也被调用,它在我的代码中产生问题.
- (voID)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ _firsttouch = [[touches anyObject]locationInVIEw:self]; _isTapped = YES; [self.nextResponder.nextResponder touchesBegan:touches withEvent:event];}- (voID)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ _isTapped = NO; [self.nextResponder.nextResponder touchesMoved:touches withEvent:event];}- (voID)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{if (_isTapped){ //Functionality}
为什么touchesMoved在这些设备上调用,我该如何解决?
解决方法 可能是更高分辨率的屏幕对任何移动都更敏感.当你敲击时,你实际上可能正在滚动你的手指,使它看起来像一个小动作.两种可能的解决方
>在touchesMoved:方法中检查触摸移动了多远.如果这是一个非常小的举动,请忽略它以进行_isTapped检查.>而不是覆盖触摸…方法,使用UITapGestureRecognizer.让它做所有艰苦的工作,确定什么是水龙头,什么不是.它将使您的代码更简单.
总结以上是内存溢出为你收集整理的ios – touchesMoved在iPhone 6s及以后的单点击中被调用全部内容,希望文章能够帮你解决ios – touchesMoved在iPhone 6s及以后的单点击中被调用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)