- [NSResponder swipeWithEvent:] не вызывается
Я пишу приложение для OS X Lion и Snow Leopard. У меня есть мнение, что я хочу иметь возможность реагировать на события смахивания. Я понимаю, что три пальца вызовет-[NSResponder swipeWithEvent:]
если этот метод реализован в моем собственном представлении. Я уже посмотрел наэто вопрос и соответствующие ответы, и попробовал следующую модифицированную реализацию заглушки кода Оскара Дель Бена:
@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
Это компилируется и работает нормально, и представление отображается как ожидалось.mouseDown:
Событие правильно зарегистрировано. Тем не мение,ни одно из других событий не вызвано, Ниbegin/endGestureWithEvent:
методы, ниswipeWithEvent:
метод. Что заставляет меня задуматься: нужно ли где-то устанавливать настройки проекта / приложения, чтобы правильно получать и / или интерпретировать жесты? Заранее спасибо за помощь.