gpt4 book ai didi

macos - 如何在 NSTextView 中禁用这些键盘快捷键?

转载 作者:行者123 更新时间:2023-12-03 16:32:52 25 4
gpt4 key购买 nike

我有一个 NSTextView,我将其用作字母的全屏 Canvas 。

以下组合键会执行我不想执行的操作(例如隐藏窗口、锁定计算机)。

如何禁用它们以阻止它们被调用?

  • 命令-a
  • Command-h
  • 命令-j
  • 命令-p
  • 命令-u

最佳答案

首先,请确保您了解the path of key eventsuser interface validation .

我认为禁用您提到的操作的最佳方法是子类化 NSTextView 并通过声明您的 TextView 符合 NSUserInterfaceValidations 并编写验证方法来禁用其关联的菜单项:

- (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)anItem {

SEL action = [anItem action];
if (@selector(selectAll:) == action || // command-a
@selector(centerSelectionInVisibleArea:) == action || // command-j
@selector(print:) == action || // command-p
@selector(underline:) == action) { // command-u

return NO;
}
else return [super validateUserInterfaceItem:anItem];
}

但这并不能阻止用户通过 Command+H 隐藏应用程序。要禁用该组合键,您可以在 MainMenu XIB 中删除其等效键,也可以子类化 NSApplication 并覆盖 hide:

关于macos - 如何在 NSTextView 中禁用这些键盘快捷键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8147882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com