1

2列のフィールドがあるウィンドウがあります。左側にはとがありNSTableViewNSTokenField右側には2つNSTextFieldのがあります。タブの順序を左下に、次に右下に配置したいと思います。(したがって、私のウィンドウでは、順序は、、、である必要があります。NSTableView)ただし、Cocoaは、上から下に向かって、独自の優先順序を決定しているように見えます。はウィンドウ内で他のどのコントロールよりも下に配置されているため、常に右から右にタブで移動し、次に左下に戻ります。NSTokenFieldNSTextFieldNSTextFieldNSTokenFieldNSTableViewNSTextFieldNSTokenField

Appleデベロッパのドキュメントの「テキストフィールド間のタブ移動を有効にする」というセクションをたどり、InterfaceBuilderのnextKeyViewをフィールド間で希望の順序でドラッグしてみました。これはタブの順序にまったく影響を与えないようです。私が知る限り、Cocoaはデフォルトの検出方法を使用してタブの順序を選択しているようです。

何か案は?私の目標は10.6+です。

4

2 に答える 2

3

initialFirstResponderウィンドウの出口も最初のフィールド(この場合はテーブルビュー)に設定していることを確認してください。

于 2011-05-17T15:29:32.597 に答える
0

プログラムで行う必要があるようです。通知を
登録しcontrolTextDidEndEditing、タグでフィールドを識別してから、ウィンドウを呼び出しmakeFirstResponder:fieldOfYourChoiceます。および/またはIBActionフィールドでを使用し、で識別してsender、を呼び出しますmakeFirstResponder

于 2011-05-13T22:48:06.453 に答える