问题
I have done quite a bit with gesture recognizers for iOS, but I am now doing work in OS X, and I am lost.
I want to duplicate the functionality that exists like in Finder where you can two-finger swipe (on your magic mouse) to go back/forward through a directory tree.
I have an NSWindow based app that looks very similar to Finder. I have used apps before that allows you to build your own gesture recognizers so I know it is possible to do it, but I don't see any documentation on it.
What do I need to do to implement these gestures?
回答1:
You can read about Handling Trackpad Events in the Cocoa Event Handling guide. The system can detect some pre-defined gestures (swipe, rotate, etc.) or you can listen to the raw touch events, which travel up the NSResponder chain, just like regular mouse events.
回答2:
Mac now has:
NSClickGestureRecognizer
NSMagnificationGestureRecognizer
NSPanGestureRecognizer
NSPressGestureRecognizer
NSRotationGestureRecognizer
Available in storyboards too.
回答3:
Looks like there is also an Event Recognizer class in CZKit. https://github.com/CarterA/CZKit
I haven't used this (yet), so YMMV.
来源:https://stackoverflow.com/questions/10805428/how-can-i-implement-gesture-recognizers-in-os-x