- [NSResponder swipeWithEvent:] no llamado
Estoy escribiendo una aplicación dirigida a OS X Lion y Snow Leopard. Tengo una vista que deseo que responda a los eventos de deslizamiento. Tengo entendido que los golpes de tres dedos llamarán a-[NSResponder swipeWithEvent:]
si ese método se implementa en mi vista personalizada. Ya he mirado aest pregunta y las respuestas correspondientes, y probé la siguiente implementación de código auxiliar modificado del código de Oscar Del Ben:
@implementation TestView
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
[[NSColor redColor] set];
NSRectFillUsingOperation(dirtyRect, NSCompositeSourceOver);
}
- (void)swipeWithEvent:(NSEvent *)event {
NSLog(@"Swipe event detected!");
}
- (void)beginGestureWithEvent:(NSEvent *)event {
NSLog(@"Gesture detected!");
}
- (void)endGestureWithEvent:(NSEvent *)event {
NSLog(@"Gesture end detected!");
}
- (void)mouseDown:(NSEvent *)theEvent {
NSLog(@"mouseDown event detected!");
}
@end
Esto compila y funciona bien, y la vista se presenta como se esperaba. LosmouseDown:
evento está registrado correctamente. Sin embargo, ninguno de los otros eventos se activan. Ni labegin/endGestureWithEvent:
métodos, ni elswipeWithEvent:
método. Lo que me hace preguntarme: ¿necesito establecer una configuración de proyecto / aplicación en algún lugar para recibir y / o interpretar correctamente los gestos? Gracias de antemano por la ayuda.