title: Get UIEvent to cancel UIGestureRecognizer
body: <p>I have a simple swipe gesture that I want to be very low priority. I want it to be cancelled by events that happen for controls on the view. At first, I thought this would be simple. It's easy to cancel events when a gesture happens, but I can't seem to do the opposite.</p>
  
  <p>My solution is to cancel the gesture if it conflicts with any thing that is touchable. Here is the code I hacked together:</p>
  
  <pre><code>- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
  {
      CGPoint touch = [gestureRecognizer locationInView:self.view];
      return [self.view hitTest:touch withEvent:nil] == self.view;
  }
  </code></pre>
  
  <p>I feel this is the wrong solution to the problem. What am I missing? What is the right way to get events to cancel gestures?</p>
  
  <hr>
  
  <p>For more context, I have two UISwipeGestureRecognizers (swipe left and swipe right) added to the view. There is also a UISlider in the view (part of an embedded MPVolumeView). When I moved the slider to change the volume, the left or right swipe would fire.</p>