title: Three finger pinch gesture
body: <p>I'm having some issues trying to implement a 3 finger pinch. </p>
  
  <p>I've been using a 2 finger pinch with a 2 finger rotation, individually ! (no simultaneous gesture needed or wanted) the problem is that many times, the system identify the wrong movement because both of them are very similar, so I end up having to remove my fingers and press again in order to try to make the system identify the rotation (usually it identifies the pinch first)</p>
  
  <p>I searched a lot to see if the <code>delayBegin</code> would help, or if I could do something activating the simultaneous gesture, but none worked ok, so my idea was to instead of using 2 fingers to pinch, I could use 3 (since it's easier to pinch than rotate).</p>
  
  <p>The problem is, as you know, Pinch only works with 2 fingers. So I decided I could subclass the <code>UIPinchGestureReconizer</code> and only allow it to work when there is 3 fingers on screen. The rest it could work as the standard pinch works, even ignoring the third finger (to calculate the scale) but being sure the third finger still on screen.</p>
  
  <p>So I tried the following implementation for my <code>ThreeFingerPinchRecognizer</code> (that Sub classes the <code>UIPinchGestureRecognizer</code> )</p>
  
  <pre><code>@implementation GRThreeFingerPinchRecognizer
  
  -(id)initWithTarget:(id)target action:(SEL)action
      {
      self = [super initWithTarget:target action:action];
      if(self){
      }
      return self;
  }
  
  - (void)reset
  {
      [super reset];
  }
  
   - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
  {
      int numberOfTouches = event.allTouches.count;
      if (numberOfTouches == 3) 
       {
          [super touchesBegan:touches withEvent:event];
       }
  }
  
  - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
  {
      int numberOfTouches = event.allTouches.count;
      if (numberOfTouches == 3)
      {
          [super touchesMoved:touches withEvent:event];
      }
  }
  
  - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
  { 
          [super touchesEnded:touches withEvent:event];
  }
  
  - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
  {
      [super touchesCancelled:touches withEvent:event];
   }
  </code></pre>
  
  <p>So, as you can see, I'm trying to get the same functionality of the 2 finger pinch (by only calling the <code>[super]</code> functions, and at the <code>touchesBegan</code> and <code>touchesMoved</code> functions, I'm testing if there is 3 fingers on screen (by looking at the <code>event.alltouches.count</code>)</p>
  
  <p>With this, the rotation is working perfect with the two fingers, but the pinch is not working very well, its hard to activate it and when it does, it does not work as the two finger pinch...</p>
  
  <p>I know I may be doing this totally wrong, so any help will be great !!</p>
  
  <p>Thank you very much!</p>