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

Swift NSTextField-仅允许使用强制触摸进行编辑,可可色,swift,macos,cocoa,nstextfield,force-touch,Swift,Macos,Cocoa,Nstextfield,Force Touch,我正在开发一款支持Force touch的OSX应用程序 默认情况下,如果将NSTextField的行为设置为可编辑,则用户可以单击两次或使用强制触摸开始编辑 我想允许用户仅使用强制触摸开始编辑。如何处理此问题?子类NSTextField并重写压力更改(使用:)。 然后,检查event.stage的压力级别(或event.pressure的准确值)。如果event.stage为2,则为强制触摸 @available(macOS 10.10.3, *) override func pressure

我正在开发一款支持Force touch的OSX应用程序

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


我想允许用户仅使用强制触摸开始编辑。如何处理此问题?

子类NSTextField并重写
压力更改(使用:)
。 然后,检查
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)
    }
}

子类NSTextField并覆盖
压力变化(带:)
。 然后,检查
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)
    }
}