objective-c - 静音 Cocoa 错误提示音

标签 objective-c macos cocoa keyboard first-responder

我有一个 Cocoa 应用程序,它通过 View 层次结构中的自定义 View 捕获按键。此 View 实现了 keyUpkeyDown 方法,并接收按键。即便如此,每次我按下一个键时,Cocoa 仍然坚持播放系统错误声音/叮。有什么解决办法吗?

注意:虽然我试图让这个 View 成为第一响应者,但没有成功。这可能与它有关。

最佳答案

如果您尝试使 View 成为第一响应者但没有成功,这很可能是因为 NSViewacceptsFirstResponder 返回了 NO .您可以让您的 NSView 子类覆盖 acceptsFirstResponder 以返回 YES:

- (BOOL)acceptsFirstResponder {
    return YES;
}

这应该可以消除哔哔声。或者,您可以让 NSView 子类覆盖 NSResponderperformKeyEquivalent: 方法以返回 YES,这也应该消除 NSBeeps:

- (BOOL)performKeyEquivalent:(NSEvent *)event {
    return YES;
}

更新:

不确定建议什么。我实际上写了一个“Keyboard Cleaner Helper”应用程序,它的设计基本上是为了做一些类似于你想要的事情。 (当我想清洁键盘时,我在笔记本电脑上使用了它,并且没有按数百次按键来随机重命名文件或导致重复的错误蜂鸣声)。

示例项目:http://www.markdouma.com/developer/KeyboardCleanerHelper.zip

运行那个应用程序,我根本无法让它发出哔哔声(通知调用记录到控制台)。

关于objective-c - 静音 Cocoa 错误提示音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13519647/

相关文章:

objective-c - 为什么 UITableViewCell 没有正确重新加载?

iphone - 4 英寸视网膜 iPhone 模拟器中页眉和页脚的剩余空间

c - "Double dot"C 中的目录名?

objective-c - 在 mac os 上使用 cocoa 获取 private/var/folders 缓存文件夹路径

objective-c - cocoa 碰撞检测问题

objective-c - objective-c ,n++和++ n之间的区别

objective-c - 在 NSTableView 中禁用滚动

objective-c - 添加应用内购买 (Cocoa) - 简单教程?

macos - 不工作 scp 命令 : Connection closed by remote host (Mac OS X)

cocoa - 如何对 CGPath 的绘图进行动画处理?