title: UILongPressGestureRecognizer stop handle without stop touching
body: <p>I'm using UILongPressGestureRecognizer class to handle if one item is being selected.</p>
  
  <p>The logic is as follows: User press during 1 second an item (UIView subclass). Once the gesture is detected, the item is highlighted and moveable.</p>
  
  <p>The user must move this item across the screen without stop touching it.</p>
  
  <p>The problem I'm facing is the gesture recognized shadows touchesBegan/Move/Ended necessary for the item class to arrange the movement.</p>
  
  <p>I tried to remove the gesture recognized once is detected and the item selected. But still sending messages to the handle of gesture instead of call touches methods.</p>
  
  <p>Anyone knows any way to stop "listening" the gesture recognizer without leave the finger of the screen?</p>
  
  <p>Thanks.</p>
  
  <p>Here the code:</p>
  
  <pre><code>-(void)addGestures
  {
      UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]
                                                 initWithTarget:self 
                                                 action:@selector(handleLongPress:)];
      longPress.minimumPressDuration = iItemLongPressTime;
      [self addGestureRecognizer:longPress];
      [longPress release];
  }
  - (void)handleLongPress:(UILongPressGestureRecognizer*)sender { 
      if (sender.state == UIGestureRecognizerStateEnded) {
  
          NSLog(@"Long press Ended");
      }
      else {
          if (self.isSelected) return;
  
          if ([delegate respondsToSelector:@selector(singleTouch:)])
              [delegate singleTouch:self];
  
          [self removeGestureRecognizer:[self.gestureRecognizers objectAtIndex:0]];
  
          NSLog(@"Long press detected.");
      }
  }
  </code></pre>
  
  <p>As you can see in the else branch the delegate calls enables all procedures to mark this item as selected, and just after remove the recognizers.</p>
  
  <p>What I'm missing?</p>
  
  <p>--EDIT--</p>
  
  <p>Done! This works:</p>
  
  <pre><code>#pragma mark Gesture Functions
  -(void)addGestures
  {
      UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]
                                                 initWithTarget:self 
                                                 action:@selector(handleLongPress:)];
      longPress.minimumPressDuration = iItemLongPressTime;
      [self addGestureRecognizer:longPress];
      [longPress release];
  }
  - (void)handleLongPress:(UILongPressGestureRecognizer*)sender { 
      if (sender.state == UIGestureRecognizerStateEnded) {
  
          NSLog(@"Long press Ended");
      }
      else {
          NSLog(@"Long press detected.");
  
          if (self.isSelected) return;
  
          if ([delegate respondsToSelector:@selector(singleTouch:)])
              [delegate singleTouch:self];
  
          [sender removeTarget:self action:@selector(handleLongPress:)];
          sender.enabled = NO;
          [self removeGestureRecognizer:sender];
  
  
  
      }
  }
  </code></pre>
  
  <p>Regards!</p>