我正在为使用 openGL 的 iPhone 小应用程序工作。
该应用程序应该:
通过移动触摸在屏幕上移动。通过点击放大/缩小
我正在覆盖这个函数来处理触摸的坐标并用我的手指在屏幕上移动,成功,完美地工作:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
我正在使用 UIGesture 识别器双击、捏合手势、滑动、反捏也成功,所有手势都被完美地检测到。
但我有冲突。例如,有时我双击并正确识别,但它也传递给了我的 touchMoved 函数,导致动作不稳定。捏和反捏手势也会发生同样的事情,大多数情况下它们在放大和缩小时效果很好,但有时我的 touchesMoved 功能也会检测到触摸并移动屏幕。
覆盖此函数并同时使用 UIGesturerecognizer 是一种不好的做法?如果没有,有没有办法在没有冲突的情况下同时使用两者?
我尝试在我的识别器中将 setDelaysTouchesBegan 和 setDelaysTouchesEnded 设置为 Yes,但这会导致我的触摸没有传递给我的任何覆盖函数!
我正在考虑使用 UIGestureRecognizer 来处理滑动并废弃被覆盖的函数以接收触摸,并使用滑动的值来计算我的屏幕移动了多少,这可能吗?