gpt4 book ai didi

macos - 如何在 NSTextView 中禁用查找(字典、词库、维基百科)功能?

转载 作者:行者123 更新时间:2023-12-03 20:56:55 26 4
gpt4 key购买 nike

我的一个项目是一个测试应用程序,学生在打字时不应该能够轻松地查找单词。

在 NSTextView 中通过 setContinuousSpellCheckingEnabled: 关闭自动拼写检查相对容易。和 setAutomaticSpellingCorrectionEnabled: .

刚发现simply tap with three fingers upon any selected word对学生来说很琐碎在任何应用程序中都会弹出一个有用的窗口,其中包含字典、同义词库,甚至是维基百科条目(如果可以在其中找到该词)。

What Lookup functionality looks like

这对 99% 的 MacOS 应用程序来说都是很棒的功能,但不适用于我的测试应用程序。

几个月后,Apple 为我提供了一个仅适用于 10.8 的(未记录且微妙的)解决方案,我最终可能会在下面的答案中提供它,但我 需要有一个适用于 10.7 的解决方案(这就是这个功能的用武之地)。

针对这个问题有三种可能的攻击计划,但我不确定如何处理这三种中的任何一种:

1)

我需要阻止此查找功能在此 TextView 中发生。

2)

我已经尝试删除字典首选项(如果它们存在;如果用户从未打开 Dictionary.app,则没有首选项)和字典缓存文件(在“~/Library/Cache”中,但这似乎没有改善情况。

3)

或者有没有办法能够检测到“使用三指点击时使用查找”的触控板设置?它可能在某个 com.apple.*.plist 中,或者可以通过“defaults”检测到,但我不确定在哪里。

编辑:

只剩下一点时间来解决这个问题并奖励赏金了。这是我尝试使用“defaults”的方法:

defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerTapGesture -bool false
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerDoubleTapGesture -bool false

但我不能 100% 确定这些是要输入的正确手势/关键字。即使在输入它们之后(并通过“ defaults read com.apple.driver.AppleBluetoothMultitouch.trackpad”验证它们是否正确保存),字典查找窗口仍然出现。

现在这是唯一有效的方法,但它仅在 MacOS 10.8 下有效(这是这些方法被暴露/引入的地方)。只需在 NSTextView 子类中重写这两个方法:
- (void)quickLookWithEvent:(NSEvent *)event;
- (void)quickLookPreviewItems:(id)sender;

最佳答案

这个对类似问题的回答解决了这个问题而不会抛出异常,但它使用了私有(private) API:https://stackoverflow.com/a/20618984/959140

只需覆盖 -(void)quickLookWithEvent:(NSEvent *)event在你的子类中,不要对事件做任何事情。

关于macos - 如何在 NSTextView 中禁用查找(字典、词库、维基百科)功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830438/

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