如何通过终端或 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.
我正在尝试禁用在我的 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.