- (void)swipeWithEvent:(NSEvent *)事件在Lion上不起作用



我正在编写一个简单的cocoa程序,它应该使用滑动手势。我已经在我的NSView子类swipeWithEvent:方法实现,但当我尝试程序的方法从未被调用。rotateWithEvent:法可以代替。我在Mac OS 10.7 Lion上使用Xcode 4.1。

rotateWithEvent:swipeWithEvent:是否有差异??为什么当我在视图下做旋转手势时第一个会被调用而第二个在相同条件下,如果我做滑动手势却永远不会被调用?

更新:我还构建了一个简单的项目,仅检查swipeWithEvent:rotateWithEvent:方法,但行为是相同的。

看一下我编写的示例代码https://github.com/oscardelben/CocoaNavigationGestures

我认为如果你张贴你的代码,减少到最基本的,如果可能的话,这将是有帮助的。

要注意的一件事是确保方法签名与定义完全匹配。在本例中,它应该是:
- (void) swipeWithEvent: (NSEvent*) event
{
    NSLog( @"A swipe happened" );
}

确保您的定义与此匹配。因为你有一个正确工作的rotateWithEvent:,这可能不太可能,但有时可能会出现拼写错误。

你可以做的另一件事是做一个样例项目,它什么都不做,只是通过记录(或其他)来响应滑动。这可以帮助识别代码或视图层次结构中是否有其他东西妨碍了。

最新更新