title: How do I determine the direction (up or down) of a UIPanGesture?
body: <p>My goal is to set the iPhone's brightness with up or down pan gestures. If there is a simple way to determine the pan's direction, I can't figure it out.  I added a swipe gesture recognizer, then the following code: </p>
  
  <pre><code>- (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer           shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer     *)otherGestureRecognizer
  {
      return YES;
  }
  </code></pre>
  
  <p>but my pan: method never seems to be able to determine the direction of the pan. I've set "self" as the delegates for both gesture recognizers. The code that follows is my latest of many different attempts. (It works beautifully when panning down - the screen dims slowly or quickly, depending on the speed of the downward pan.)</p>
  
  <pre><code>- (IBAction)downSwipe:(UISwipeGestureRecognizer *)recognizer // 1/16/13
  {
      NSLog (@"downSwipe");
      if ((recognizer.state == UIGestureRecognizerStateChanged) ||
      (recognizer.state == UIGestureRecognizerStateEnded))
    {
      NSLog (@"downSwipe in downSwipe");
      self.brightness = self.brightness -.1;
      NSLog (@"Going Down");
    }
  }
  
  - (IBAction)upSwipe:(UISwipeGestureRecognizer *)recognizer  // 1/16/13
  {
      NSLog (@"upSwipe");
      if ((recognizer.state == UIGestureRecognizerStateChanged) ||
      (recognizer.state == UIGestureRecognizerStateEnded))
    {
          NSLog (@"upSwipe in upSwipe");
          self.brightness = self.brightness +.1;
          NSLog (@"Going UP");
    }
  }
  
  - (void)pan:(UIPanGestureRecognizer *)recognizer // 1/12/13
  {
  
  if ((recognizer.state == UIGestureRecognizerStateChanged) ||
      (recognizer.state == UIGestureRecognizerStateEnded))
     {
      if (UISwipeGestureRecognizerDirectionDown)
      {
          NSLog (@"downSwipe in pan");
          self.brightness = self.brightness -.005;
          NSLog (@"Going DOWN in pan");
      }
       else if (UISwipeGestureRecognizerDirectionUp)
      {
          NSLog (@"upSwipe in pan");
          self.brightness = self.brightness +.005;
          NSLog (@"Going UP in pan");
      }
     } 
  }      
  </code></pre>
  
  <p>The output below represents a continuous upward pan of about half an inch. (pan: incorrectly thinks it's a downward pan.)</p>
  
  <pre><code>2013-01-17 17:49:57.774 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.783 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.794 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.801 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.811 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.818 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.832 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.839 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.848 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.855 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.864 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.871 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.881 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.887 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.896 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.903 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.910 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.919 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.929 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.935 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.945 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.951 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.960 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:57.966 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:57.998 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:58.004 SeriousPanicButton[9426:707] Going DOWN in pan
  2013-01-17 17:49:58.022 SeriousPanicButton[9426:707] downSwipe in pan
  2013-01-17 17:49:58.030 SeriousPanicButton[9426:707] Going DOWN in pan
  
  Obviously this if statement is not working:
  
  if (UISwipeGestureRecognizerDirectionDown)
  </code></pre>
  
  <p>I hope I'm not making this harder than it really is. It would be much cleaner to somehow be able to determine the direction (up or down) of the pan gesture, and not have to even bother with swipe gestures. </p>
  
  <p>Any help will be greatly appreciated.</p>