- (void) swipeWithEvent: (NSEvent *) событие не работает на Lion? - PullRequest
1 голос
/ 14 сентября 2011

Я пишу простую программу какао, которая должна использовать жест смахивания.Я реализовал в своем подклассе NSView метод swipeWithEvent:, но когда я пробую программу, метод никогда не вызывается.rotateWithEvent: метод работает вместо.Я использую Xcode 4.1 на Mac OS 10.7 Lion.

Есть ли разница между rotateWithEvent: и swipeWithEvent: ??Почему первый вызывается, когда я нахожусь под видом и делаю жест поворота, а второй в том же состоянии никогда не вызывается, если я делаю жест смахивания?

Обновление: я также создал простой проект только дляпроверьте методы swipeWithEvent: и rotateWithEvent:, но поведение остается тем же.

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

Взгляните на этот пример кода, который я написал https://github.com/oscardelben/CocoaNavigationGestures

0 голосов
/ 15 сентября 2011

Я думаю, что было бы полезно, если бы вы опубликовали свой код, по возможности уменьшенный до базовых элементов.

Одна вещь, на которую нужно обратить внимание, - это убедиться, что сигнатура метода точно соответствует определению.В этом случае это должно быть:

- (void) swipeWithEvent: (NSEvent*) event
{
    NSLog( @"A swipe happened" );
}

Убедитесь, что ваше определение соответствует этому.Так как у вас есть rotateWithEvent: он работает правильно, это, вероятно, маловероятно, но иногда может закрасться опечатка.

Еще одна вещь, которую вы можете сделать, - это создать пример проекта, который ничего не делает, но отвечает на пролистывание, регистрируя (или что угодно).Это может помочь определить, есть ли что-то еще в вашем коде или иерархии представлений, которые мешают.

...