5

NSToolbarItemGroup を使用して、一連の NSToolbarItem をグループ化しています。現在、グループ内の各項目の間に 2pt のスペースがあります。理想的には、NSSegmentedControl のように視覚的に完全にマージしたいと考えています。

メール アプリケーションを調べたところ、NSSegmentedControl を含むカスタム NSToolbarItem を使用しているように見えます。過去にこれを試したことがありますが、各コンポーネントの下に個々のラベルを取得し、各コンポーネントを「オーバーフロー」メニューに個別に表示する方法がわかりません。

現在の外観:

ここに画像の説明を入力

希望の外観:

ここに画像の説明を入力

「Centered」がクリップされていることは知っていますが、これは簡単な実装です。

4

2 に答える 2

1

NSToolbarItem オブジェクトをツールバーに追加し、NSViewController を次のように設定できます (Swift を使用):

runStatus.view = RunStatusView()

ここで、「runStatus」は NSToolbarItem の @IBOutlet の名前であり、「RunStatusView」は drawRect メソッドをオーバーライドした NSView オブジェクトです。NSView の幅と高さを指定することもできます。たとえば、幅を強制的に 125 で一定にします。

runStatus.minSize = NSSize(width: 125, height: 32)
runStatus.maxSize = NSSize(width: 125, height: 32)

これにより、何を描画しているかに応じて、NSToolbar 項目が互いに近くに表示される場合があります。

最後に、それでも欲しいものを正確に取得できない場合は、ボタンのグループを単一の NSToobarItem にし、「RunStatusView」で (上記の例を使用して) 必要に応じて描画し、mouseDown イベントをオーバーライドします (「RunStatusView」でも同様です)。 ) を使用して、ユーザーがクリックしている正確な場所を確認します。次に、基本的に複数のボタンのように機能する NSToolbarItem が 1 つあり、完全に制御して、必要に応じて動作させることができます。

于 2015-11-16T15:26:38.343 に答える
0

NSSegmentControl下の写真のようなものに追加して使用することをお勧めしますNSToolbarItem

ここに画像の説明を入力 画像

ボタンの下にいくつかのラベルが必要です (「返信」など)。これを実現するには、NSToolbarItemlabel-property を設定し、単語間のスペースをいじることができます。

属性インスペクター

于 2015-07-23T09:28:33.923 に答える