0

インスペクタ パネルである NSPanel (ユーティリティ パネル) のツールバーにある NSToolbarItems の奇妙な動作があります。パネルが最初に表示されたとき、3 つの項目はすべて OK です

最初に表示されたときのツールバー

いずれかの項目をクリックするとすぐに、左側の項目が青いボックスで強調表示されます。

最初の項目が青色で強調表示されたツールバー

青色のハイライトは、NSToolbarItem に使用される画像とは無関係であり、常に左側の画像の周囲にあります。最初のクリック後に消えることはありません。

ハイライトの原因とそれを消すにはどうすればよいですか?

ありがとう -

4

1 に答える 1

1

それがフォーカスリングです。これは、いつパネルがキーになったのか (クリックのために) を示し、スペース キーを押すなど、どのコントロールがキーボード イベントに応答するかを示します。Tab または Shift-Tab を押すと、ウィンドウ内のコントロール間を移動する可能性があります。

パネルにクリックでフォーカスされるテキスト フィールドなどがある場合、それらの 1 つをクリックすると、おそらくツールバー項目からフォーカス リングが削除され、テキスト フィールドに配置されます。

これを大きな問題と見なすべきではありません。ただし、本当に変更したい場合は、別のビューをファーストレスポンダ (フォーカスされたビュー) にして、ツールバー項目にフォーカスを持たないようにすることができます。

initialFirstResponderウィンドウやタブ項目の を設定できます。(ツールバーの項目は、テーブルのタブ ビューのタブ間で切り替わっていると思います。)

または、 を実行して、ウィンドウを独自のファーストレスポンダにすることもできます[window makeFirstResponder:nil]。または、 を実行して、特定のビューをファーストレスポンダにすることもできますif ([view acceptsFirstResponder]) [view.window makeFirstResponder:view];

于 2015-03-14T02:56:40.303 に答える