Doble toque en el button UIB

¿Cómo reconocer el doble toque en UIButton?

Agregue una acción de destino para el evento de control UIControlEventTouchDownRepeat y realice acciones solo cuando el toque de tapCount sea ​​2.

C objective:

 [button addTarget:self action:@selector(multipleTap:withEvent:) forControlEvents:UIControlEventTouchDownRepeat]; ... -(IBAction)multipleTap:(id)sender withEvent:(UIEvent*)event { UITouch* touch = [[event allTouches] anyObject]; if (touch.tapCount == 2) { // do action. } } 

Como comentó @Gavin, tocar dos veces un button es un gesto inusual. En el iPhone, el doble toque se usa principalmente para las vistas ampliables para acercar / alejar una región de enfoque. Puede ser poco intuitivo para los usuarios si realiza el gesto para realizar otras acciones.

Swift 3:

 button.addTarget(self, action: #selector(multipleTap(_:event:)), for: UIControlEvents.touchDownRepeat) 

Y entonces:

 func multipleTap(_ sender: UIButton, event: UIEvent) { let touch: UITouch = event.allTouches!.first! if (touch.tapCount == 2) { // do action. } } 
 @IBOutlet weak var button: UIButton! override func viewDidLoad() { super.viewDidLoad() button.addTarget(self, action: "didTap:", forControlEvents: .TouchUpInside) button.addTarget(self, action: "didDoubleTap:", forControlEvents: .TouchDownRepeat) } var ignoreTap = false func didTap(sender: UIButton) { if ignoreTap { ignoreTap = false print("ignoretap", sender) return } print("didTap", sender) } func didDoubleTap(sender: UIButton) { ignoreTap = true print("didDoubleTap", sender) } 

intenta usar esto para el evento del button

 UIControlEventTouchDownRepeat