私はNSTableView
を持っています。編集可能なセル内でキーボードイベントを傍受し、そのセルを文字列に置き換える必要があります。たとえば、「a」を押して「a」を代行受信し、テーブルが再ロードされるときに値「Alpha」が割り当てられます。実際の状況はもう少し複雑で、HIDデバイスも扱っていますが、それはまったく別の話です。つまり、編集モードに入り、キーボード生成値が表示されないようにしたいだけです。NSTableViewのテキストをフィルタリングする
これの後半部分(「アルファ」を表示)は簡単ですが、問題の最初の部分を理解することはできません。テーブルをサブクラス化して最初のレスポンダにすると、keyDown:
イベントを受け取ることができますが、ユーザがセルをダブルクリックして入力を開始すると、これは無音になります。
他NSTableView
成分(NSCell
、NSTextFieldCell
など)のいずれもNSResponder
から派生しないので、私はどこかに埋もれNSTextField
があると仮定しています。
ユーザーがセル編集モードに入ると、テキストをフィルタリングする最適な方法は何ですか?