22

どうすればそのようなことができますか?

スクリーンショット

Interface Builder ライブラリに適切なオブジェクトが見つかりませんでした。

何かご意見は?

4

4 に答える 4

39

私が見つけた最良の方法は、NSSegmentedControl を使用することです。

キャンバスにドラッグした後、そのスタイルを構成する必要があります。

Style: Small Square
Mode:  Select Momentary

より良く見えます。「image」フィールドを使用してNSAddTemplateNSRemoveTemplateを設定します。ラベル フィールドが空であることを確認します。

OK、「+」、「-」、および 1 つの空のセグメントがあります。ユーザーが最新のものを選択できないようにするには、[セグメント:]ポップアップから選択し、[有効]チェック ボックスをオフにします ([状態:]ラベルの横にあります)。

最後に、最初の 2 つのセグメントのを設定して、それらを正方形にする必要があります。

  1. サイズインスペクターに移動
  2. セグメント 0 を選択
  3. 「固定」チェックボックスをオフにします(セグメントは画像に合わせてすぐに自動サイズ変更されます)
  4. セグメント 1を選択し、番号 3 を繰り返します
  5. コントロールのサイズを変更すると、最後のセグメントのみが幅を変更します
  6. テーブル ビューの下部に配置し、サイズも変更します。

楽しみ ;)

于 2013-03-24T11:01:11.477 に答える
11

OSX Yosemite のアップデート

Mail.app の [アカウント] ビュー (スクリーンショットの右側のウィンドウ) と同じ外観を実現しようとしました。

以下の手順に従って、目的の結果を達成しました。

  1. を追加NSSegmentedControl
  2. 2 つのセグメントを追加し、それぞれにイメージを設定します。
    • NSAddTemplate+ボタンの
    • NSRemoveTemplate-ボタンの
  3. セグメントのサイズを にfixed設定し、値を32ピクセルに設定します
  4. ボタンの横にある四角形はNSButton、スタイルのGradientです。
  5. Button は有効になっていますが、Refuses First Responderが に設定されてtrueいるため、クリックできません。

スクリーンショット

于 2015-03-23T11:11:06.220 に答える
8

グラデーション スタイルの NSButton を使用し、画像にはシステムが提供する NSAddTemplate と NSRemoveTemplate を使用します。

于 2012-07-19T05:59:46.327 に答える
3

ここでの 1 つの回答は、グラデーション ボタンを使用することを提案していますが、これらのボタンを無効にすることはできません。これにより、背景が変化し、外観が損なわれるためです。もう 1 つは、セグメント化されたコントロールを使用することを提案しました。これはほぼ完璧ですが、セグメント化されたコントロールは自動サイズ変更をサポートしていません。たとえば、テーブルの幅が動的な場合です。私の提案は、両方の組み合わせです。実際のボタンにはセグメント化されたコントロールを使用し、グラデーション ボタンを使用して残りのテーブル幅を埋めます。ボタンの幅も動的である場合は、これも動的にすることができます。

同様の質問に対する私の回答を参照してください (スクリーンショット付き): https://stackoverflow.com/a/22586314/15809

于 2014-03-23T15:00:36.233 に答える