繁体   English   中英

NSTextField - 仅允许使用force-touch进行编辑,Cocoa

[英]NSTextField - Allow editing only with force-touch, Cocoa

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

默认情况下,如果您将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)
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM