title: touchesEnded not called if i do not move finger
body: <p>I have a simple piece of code in which i have overridden touchesBegan,Ended,Cancelled(empty block) and touchesMoved.
  If i click ( i'm testing on Desktop PC ) with the mouse touchesBegan it's called, but touchesEnded is called only when i move finger for a while. That makes impossible to recognize a single tap or a drag of the finger, and handle them differently.
  I don't understand if this is an emulator problem or i am misunderstanding the whole process. Did you have the same problem?</p>
  
  <p>I have a simple solution for my application, like check a "first move" variable in touchesBegan, but this is a pure technical question.</p>
  
  <p>Thank you in advance.</p>
  
  <p>This is all i use, apart from drawRect that it's not important.
  I guess it's not a problem in my code.</p>
  
  <pre><code>override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
      let touch = touches.allObjects[0] as UITouch 
      let touchPoint = touch.locationInView(self) 
  
      println("touchesBegan")
  
      if (Draw!){
          path.moveToPoint(touchPoint)
          path.addLineToPoint(touchPoint)
  
          self.setNeedsDisplay()
      }
  }
  override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
      let touch = touches.allObjects[0] as UITouch
      let touchPoint = touch.locationInView(self)
  
      println("touchesMoved")
  
      if (Draw!){
          path.addLineToPoint(touchPoint)
          self.setNeedsDisplay()
      }
  }
  
  override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
      let touch = touches.allObjects[0] as UITouch
      let touchPoint = touch.locationInView(self)
  
      println("touchesEnded")
  
      if (Draw!){
          path.addLineToPoint(touchPoint  
          path = UIBezierPath() // Create new path for next line        
          self.setNeedsDisplay()
      }
  
  }
  </code></pre>