在cocoa应用程序中检测Enter / Return键的最佳方法是什么?

时间:2013-02-05 10:25:33

标签: cocoa nsview nstextview nsevent

在我的cocoa应用程序中,我需要检查输入/返回键。因为我使用下面的代码

if ((event.keyCode == 36) || (event.keyCode == 76) || (event.keyCode == 13))
{
// Some code after checking Enter key
}

任何人都可以建议这是正确的方式吗? 在此先感谢:)

1 个答案:

答案 0 :(得分:3)

不完全正确的方法 - 您将密钥代码与字符代码混淆。正如Peter Hosey在评论中指出的那样,13是W键的代码。

if ((event.keyCode == 36) || (event.keyCode == 76))检查代码是否为Return或Enter键。

如果您想查看字符代码,那么您可以执行以下操作:

NSString *chars = event.charactersIgnoringModifiers;
unichar aChar = [chars characterAtIndex: 0];
if (aChar == 13 || aChar == 3)

......你会得到同样的效果。