1

Force touch をサポートする OSX アプリを開発しています。

デフォルトでは、NSTextField の動作を編集可能に設定すると、ユーザーは 2 回クリックするか、強制的にタッチして編集を開始できます。

ユーザーが強制タッチのみで編集を開始できるようにしたい。どうすればこれを処理できますか?

4

1 に答える 1

0

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)
    }
}
于 2016-10-06T16:28:34.103 に答える