2012-04-11 35 views
3

NSViewのNSTextFieldsのタブ順序を設定しようとしています。私が理解する限り、nextKeyViewコンセントを次のNSTextFieldに設定することによって、NSTextFieldをInterfaceBuilderに接続する必要があります。私はこれを行いました - そして効果はありません。 Tabキーを押すと、NSTextFieldの1つに入った後、フォーカスが失われてしまいます。どんなに頻繁にタブを押しても、他のNSTextFieldのどれもフォーカスを取り戻せません。NSViewのNSTextFieldのタブ順序を設定する

また、ウィンドウのinitialFirstResponderを設定する必要があることも読んでいます。 AppDelegateはNSViewを呼び出すため、別のビューのサブビューとしてロードされるさまざまなNSViewを呼び出す多くの異なるボタンを持つMenu-Areaとして機能するため、私はこの特定のケースでこれを行うことはできないと思います。したがって、AppDelegateは、どのNSViewが現在ロードされているかを知る方法がありません。

NSTextFieldsのタブオーダーをNSViewベースで設定する方法はありますか?あなたは、ウィンドウ内の主要なループの自動再計算を無効にする必要が

おかげ

答えて

1

-[NSWindow setAutorecalculatesKeyViewLoop:]を参照してください。

編集済み:これはInterface Builderでも設定できます。

+0

動作しませんでした。私は[_window setAutorecalculatesKeyViewLoop:NO]を追加しました。 applicationDidFinishLaunchingメソッドに渡します。 Interface Builderでは、最初の場所に "Auto Recalculates View Loop"チェックボックスが表示されていませんでした。 – Joseph

+0

タブオーダーをカスタマイズしたいのですか、またはタブ動作が全く機能しないようにしたいのですが、そうではありませんか?後者の場合は、キービューループの自動再計算を有効にしましたか? –

+0

Auto Recalculates View Loop Optionを有効にしようとしましたが効果がありませんでした。そして、基本的に私はすべてタブで動くようにしたいと思っています...現在、タブからタブを外してフォーカスを失っても何も起こりません。 – Joseph

0

これはあなたの状況に役立つかもしれませんが、別のNSView内のNSViewを扱う際には以下のものが役に立ちました。私はNSTextFieldの2つの垂直スタックを持っていました。横に横切るのではなく、1つのスタックをタブダウンし、次にスタックをタブダウンする必要があったので、2つの垂直スタックをそれぞれ独自のボックスに埋め込みました(IBではまずアイテムを選択し、エディタ>埋め込み>ボックス)。完璧に動作します。 ボックスの外観をしたくない場合は、そのタイトルを消去して、その枠線の種類を[不可視]ボックスに設定します。

関連する問題