2009-08-18 16 views
1

私は多くのNSToolbarItemを持つアプリケーションを持っています。一度に5つしか必要ないので、画面にフィットさせて、コンテキストに応じてNSToolbarItemsを隠す/表示するのが最も簡単な方法です。NSToolbarItemの非表示/表示

私はGoogleまたはAppleのドキュメントでこれを行う方法が見つかりません。方法はありますか?

NB:私はこれが少しユーザーインターフェイスの基準に反しているのではないかと心配していますが、必要なボタンをたくさん扱うより良い方法を考えることはできません。多分ツールウィンドウのものを除いて、ユーザによって。

+1

ああ、個々の組織が自分の組織の状況(スタッフがやることを許可するものとしないもの)によっては、ツールバーにボタンを完全に削除したり追加したりしたいと思っています。とにかくボタンをプログラムで追加したり削除したりします。 – Jacob

答えて

3

あなたは、Appleがこの言うんが、-[NSToolbar items]ですべての項目を通過し、-[NSToolbar removeItemAtIndex:]で不要なものを削除することができます:通常

を、あなたはこの 方法(-[NSToolbar removeItemAtIndex:])を呼び出すべきではありません。ユーザーに ツールバーを再構成させる必要があります。

通常、現在のコンテキストでは使用できないツールバー項目を無効にするだけです。

+0

ポインタをありがとう。私は、この「使いやすさ」について、少なくともいくつかのコメントを得ようとしていることを知っていました。問題は、任意の所与の状況において、5つの使用可能/感知可能なボタンと、60を超える使用不可能/無意味なボタンがあることである。 (つまり、車のコンポーネントを使って車を描いている1つのスクリーンと、マップ上に色を描いている別のスクリーンと、マップ上のポイント間の距離を測定している別のスクリーンを想像してください。同じ時間。 – Jacob

+2

ツールバーの代わりにコンテキストに応じて変更するNSPanel/NSWindowを使うほうがいいかもしれません。コンテキストごとに1つのNSViewControllerが必要で、コンテキストが変わったときにウィンドウのcontentViewを切り替えてください。 –

+1

私は別のアイデアを与えてくれました!関連するボタンを表示する描画エリアの上部にある「サブ」ツールバーがあるかもしれません(スタイリングではFinderがサーバーをブラウズしているときと同じように(接続する) "バー) – Jacob