Как я могу реализовать распознаватели жестов в OS X?

Я довольно много сделал с распознавателями жестов для iOS, но сейчас я работаю в OS X, и я заблудился.

Я хочу дублировать функциональность, которая существует, как в Finder, где вы можете провести двумя пальцами (на своей волшебной мыши), чтобы перейти назад / вперед по дереву каталогов.

У меня есть приложение на основе NSWindow, которое выглядит очень похоже на Finder. Я использовал приложения до этого, что позволяет вам создавать свои собственные распознаватели жестов, так что я знаю, что это возможно, но я не вижу никакой документации по этому вопросу.

Что мне нужно сделать, чтобы реализовать эти жесты?

3 ответа

Решение

Вы можете прочитать об обработке событий Trackpad в руководстве по обработке событий Cocoa. Система может обнаруживать некоторые предварительно определенные жесты (смахивание, поворот и т. Д.) Или вы можете прослушивать необработанные сенсорные события, которые перемещаются по цепочке NSResponder, как обычные события мыши.

Mac теперь имеет:

  • NSClickGestureRecognizer
  • NSMagnificationGestureRecognizer
  • NSPanGestureRecognizer
  • NSPressGestureRecognizer
  • NSRotationGestureRecognizer

Доступно в раскадровке тоже.

Похоже, в CZKit есть также класс распознавателя событий. https://github.com/CarterA/CZKit

Я не использовал это (пока), поэтому YMMV.

Другие вопросы по тегам