1
Force touchをサポートするOSXアプリケーションを開発中です。NSTextField - force-touch、Cocoaでのみ編集できるようにする
デフォルトでは、NSTextFieldの動作を編集可能に設定すると、ユーザーは2回クリックするか、強制的なタッチを使って編集を開始できます。
私はForce touchでのみユーザーの編集を開始できます。これをどうすれば処理できますか?
Force touchをサポートするOSXアプリケーションを開発中です。NSTextField - force-touch、Cocoaでのみ編集できるようにする
デフォルトでは、NSTextFieldの動作を編集可能に設定すると、ユーザーは2回クリックするか、強制的なタッチを使って編集を開始できます。
私はForce touchでのみユーザーの編集を開始できます。これをどうすれば処理できますか?
サブクラスNSTextFieldとオーバーライドpressureChange(with:)
。 次に、圧力のレベルはevent.stage
(正確な値はevent.pressure
)にチェックしてください。 event.stageが2
の場合、それはforce touchです。
@available(macOS 10.10.3, *)
override func pressureChange(with event: NSEvent) {
if event.stage == 2, !self.isEditable {
self.isEditable = true
self.selectText(self)
}
}