- (void)swipeWithEvent :( NSEvent *)事件不适用于Lion?

时间:2011-09-14 19:11:23

标签: xcode cocoa osx-lion

我正在编写一个应该使用滑动手势的简单可可程序。 我在我的NSView子类中实现了方法swipeWithEvent:,但是当我尝试该程序时,该方法永远不会被调用。 rotateWithEvent:方法起作用。 我在Mac OS 10.7 Lion上使用Xcode 4.1。

rotateWithEvent:swipeWithEvent:之间有区别吗?为什么当我在视图下并且做一个旋转手势时调用第一个并且如果我执行滑动手势则从不调用相同条件的第二个?

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

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我认为如果你发布了你的代码会有所帮助,如果可能的话,减少到最基本的内容。

要注意的一件事是确保方法签名与定义完全匹配。在这种情况下,它应该是:

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

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

您可以做的另一件事是制作一个示例项目,除了通过记录(或其他)响应滑动之外什么都不做。这可以帮助确定您的代码或视图层次结构是否存在其他问题。