2016-10-04 8 views
1

Force touchをサポートするOSXアプリケーションを開発中です。NSTextField - force-touch、Cocoaでのみ編集できるようにする

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

私はForce touchでのみユーザーの編集を開始できます。これをどうすれば処理できますか?

答えて

0

サブクラス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) 
    } 
} 
関連する問題