Anule el método NSResponder
-mouseUp:
y compruebe el evento clickCount
del evento suministrado. Si clickCount == 2
, está viendo un doble clic. Si es 1, entonces un solo clic. 0, luego esperaron lo suficiente entre el mouse y el mouse para que el sistema decidiera que no se trataba de un clic, solo eventos distintos de arriba abajo.
- (void)mouseUp:(NSEvent *)event
{
NSInteger clickCount = [event clickCount];
if (2 == clickCount) [self handleDoubleClickEvent:event];
}
Esto supone que el objeto que maneja el clic es parte de la cadena de respuesta. De lo contrario, tendrá que obtener sus eventos de otra manera, como la subclasificación de NSApplication
o NSWindow
y la anulación de -sendEvent:
para interceptar el evento apropiado antes de que se continúe.
iOS o Mac OS X? – duskwuff
@duskwuff OSX (ver etiquetas) – Sciguy77
@duskwuff: Además, iOS no tiene clics. –