我正在尝试禁用三指点击以在我的 macOS 应用程序中显示单词定义。我正在使用 Xcode 和 Swift 加载 Web View 和 TextView (以及按钮)。我希望用户仍然能够在 View 中突出显示文本,但不能使用三指点击。我在想我可以通过运行终端命令或在 Xcode 中运行 Swift 命令更容易来更改 Apple 默认设置(启用三指点击)。我正在寻找我可以使用的终端命令或 Swift 代码来禁用它(通过我的 Xcode 项目中的一行代码)。
提前致谢!
最佳答案
你应该先问问自己为什么要这样做。当且仅当有充分的理由表明您绝对不希望用户能够在您的应用(或特定 TextView )中查找单词的定义时,请继续阅读。
使用终端命令更改设置不是一个好主意,因为此手势是系统设置,而不是特定于您的应用程序的设置。混淆适用于您的应用以外的任何应用的用户设置是 Not Acceptable 。
执行此操作的正确方法是在 NSTextView
的上下文中。假设您已经从与 TextView 关联的 NSMenu
中删除了查找条目(这可以通过覆盖 textView(:menu:for:at:)
来完成),您可以简单地覆盖 quickLook(with:)
在 NSTextView
的子类中并且不调用 super 以防止三指点击工作。
例如,您可以像这样创建一个自定义的 NSTextView
:
class MyTextView: NSTextView {
override func quickLook(with event: NSEvent) {
print("preventing quick look")
}
}
请注意,如果您正在处理 NSTextField
,则可以换掉字段编辑器(它是一个 NSTextView
)。这是解释here .
关于swift - 如何通过终端或 Swift 禁用三指点击手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50144963/