如何在Cocoa中实现双指滑动手势以进行前进和后退操作?

5

像Safari和Finder这样的应用程序会在您使用魔术鼠标(或魔术触控板上的三个手指)用两个手指轻扫时返回和前进。

我该如何在我的Cocoa应用程序中实现这一功能?有哪些类可用?


我在XCode开发者文档中快速搜索了“多点触控”,并且在Mac OS X SnowLeopard(无空格)发布说明中有一个完整的章节讨论多点触控。这里有太多内容要贴出来,但我建议你把那些说明作为起点阅读。 - eykanal
2个回答

5

这适用于在Magic Mouse上进行双指滑动操作。我猜你说的是Magic Trackpad?我还没有一个,所以我问了一下Magic Mouse。不过我需要一个来测试。 - user142019
你说得对 - 我有一个Magic Trackpad但没有Magic Mouse,在Magic Trackpad上,双指滑动可以滚动。 - sbooth
2
对于触控板上的双指滑动,请查看 https://github.com/Kapeli/SwipableWebView。 - bogdansrc
刚刚将这个简单的 Obj-C 解决方案转换成 Swift,效果非常好:https://github.com/oscardelben/CocoaNavigationGestures (Swift 解决方案是一个更大的开源项目的一部分,但只花了大约 10 分钟就完成了) - Sentry.co

5

对于我来说,通过子类化NSView后,使用Trackpad进行双指滑动可以实现。需要滑动的信息(例如NSScrollView实例)应该保存在这个NSView的子类中,并实现-(void)scrollWheel:(NSEvent *)event方法。这个方法将会被用于双指滑动,滑动的方向可以从[event deltaX]和[event deltaY]属性中获取。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接