NSTextField - 仅允许使用强制触摸进行编辑,Cocoa

问题描述:

我正在开发具有Force触摸支持的OSX应用程序。NSTextField - 仅允许使用强制触摸进行编辑,Cocoa

默认情况下,如果您将NSTextField的行为设置为可编辑,用户可以点击两次或使用强制触摸开始编辑。

我想让用户只能用Force touch开始编辑。我该如何处理?

NSTextField的子类并覆盖pressureChange(with:)。 然后,检查event.stage的压力水平(或准确值为event.pressure)。如果event.stage是2,那就是力量感。

@available(macOS 10.10.3, *) 
override func pressureChange(with event: NSEvent) { 

    if event.stage == 2, !self.isEditable { 
     self.isEditable = true 
     self.selectText(self) 
    } 
}