番号ダイヤルテキストフィールド、つまり、その隣にあるNSStepperと連動するテキストフィールドを作成しようとしています。
テキストフィールドには浮動小数点数が表示され、ユーザーはスクロールホイールを使用して、表示されている数値と上下の矢印キーを同じ効果で調整できるようにする必要があります。
また、押された修飾キーに応じて、異なる増分に切り替える必要があります。後で、ユーザーがAltキーを押しながらテキストフィールド上でマウスを左または右にドラッグすると、挿入カレットが配置された場所(数字のどの桁)が決定され、ユーザーがその数字のみをインクリメントする動作を実装する可能性があります。 1、数十、数百などのパーツをすばやく更新できます。
修飾キーとマウスドラッグの詳細はそれだけですが、私の質問は、これを最も目立たない方法で実現するための基本事項に関係しているため、バインディングやその他の機能は引き続き機能します。
これまでのところ、NSTextFieldのサブクラス(IBのセルに番号フォーマッターがアタッチされている)と、番号ダイヤルテキストフィールドのフィールドエディターであるNSTextViewのサブクラスを取得しました。これは、keyDown:をオーバーライドして、矢印キーの更新を実行できるようにするためです。
問題は、ウィンドウのデリゲートのwindowWillReturnFieldEditor:toObject:から番号ダイヤルテキストフィールドに対してこのフィールドエディタを返すと、バインディングが壊れているように見え、通常、これを行うべきではないように感じることです。
私はこれを間違った方法で行っていますか?
PS:サブクラスコードだけをhttp://gist.github.com/361265で見つけることができます 。すべてをここに投稿する必要があるかどうかはわかりませんでした。