如何通过终端或 Swift 禁用三指点击手势?

How to disable three finger tap gesture through Terminal or Swift?

我正在尝试禁用在我的 macOS 应用程序中使用三指点击来显示单词定义。我正在使用 Xcode 和 Swift 加载网页视图和文本视图(以及按钮)。我希望用户仍然能够在视图中突出显示文本,但不能使用三指点击。我在想我可以通过 运行 终端命令更改 Apple 默认设置(启用三指点击),或者如果 运行 Swift 命令更容易 Xcode。我正在寻找我可以使用的终端命令或 Swift 代码来禁用它(通过我的 Xcode 项目中的一行代码)。

提前致谢!

你应该先问问自己为什么要这样做。当且仅当有充分的理由表明您绝对不希望用户能够在您的应用(或特定文本视图)中查找单词的定义时,请继续阅读。

使用终端命令更改设置不是一个好主意,因为此手势是系统设置,而不是特定于您的应用程序的设置。混淆适用于您的应用以外的任何应用的用户设置是不可接受的。

执行此操作的正确方法是在 NSTextView 的上下文中。假设您已经从与文本视图关联的 NSMenu 中删除了查找条目(这可以通过覆盖 NSTextView 的子类中的 textView(:menu:for:at:)), you may simply override quickLook(with:) 来完成,并且不调用 super 以防止三指点击停止工作。

例如,您可以这样创建一个自定义 NSTextView

class MyTextView: NSTextView {

    override func quickLook(with event: NSEvent) {
        print("preventing quick look")
    }

}

请注意,如果您处理的是 NSTextField,则可以更换字段编辑器(即 NSTextView)。这是解释 here.