仅iPhone 4.0和4.1中的手势识别器错误

仅iPhone 4.0和4.1中的手势识别器错误,iphone,uigesturerecognizer,Iphone,Uigesturerecognizer,以下代码适用于4.2和4.3,但在4.0和4.1中,该值显示为NaN,但仅适用于UIgestureRecognitzerStateEnded情况。它在UIgestureRecognitzerStateChanged中显示正确的值 - (void)panGesture:(UIPanGestureRecognizer*)gestureRecognizer { CGPoint touchPoint = [gestureRecognizer locationInView:self]; switc

以下代码适用于4.2和4.3,但在4.0和4.1中,该值显示为NaN,但仅适用于UIgestureRecognitzerStateEnded情况。它在UIgestureRecognitzerStateChanged中显示正确的值

- (void)panGesture:(UIPanGestureRecognizer*)gestureRecognizer
{
  CGPoint touchPoint = [gestureRecognizer locationInView:self];
  switch ( [gestureRecognizer state] ) {
    case UIGestureRecognizerStateChanged:
      NSLog(@"panChanged - touchPoint = %f", touchPoint.x); // Always works
    case UIGestureRecognizerStateEnded:
      NSLog(@"panEnded - touchPoint = %f", touchPoint.x); // Always outputs nan
}

我不确定这是苹果的问题还是我做错了什么。请注意查看我自己的代码,我从未检查过开始/结束状态下的坐标。我只是把它们当作单独的事件,与屏幕上的位置无关。在最后一种情况下,我假设最后一次发送的坐标发生了变化。在Begin的例子中,我不能相信坐标,因为它们是在手势移动了一点并且手势开始后确定的,所以我问我的点击识别器初始坐标在哪里


我怀疑这是最初的意图,可以使用,但在4.2和4.3中,他们也开始填充End的最终坐标,只是为了保持一致。

您的开关中没有中断语句。这是故意的吗?是的,我拿出一些代码只是为了演示。我的原始代码确实有break语句。好主意:)