私は最初の Cocoa アプリ (以前は iOS アプリを作成していました) を作成しようとしていますが、カスタム ビューでやりたいことは、インジケーター (アクセサリ) の三角形を下にしてタイトルをクリックできるようにすることです。タイトルをクリックすると、アイテムのポップアップ/メニューが開きます。
それはCocoaでどのように実行できますか?
Rdelmarの答えはおそらく最も簡単な方法ですが、やりたいことを正確に実行できない場合があります(ツールバー領域のタイトルの下にポップアップボタンを配置する代わりに、実際のタイトルをポップアップアイテムに置き換えます)。機能に関しては、アプリケーションはおそらくツールバーを使用しても同様に機能します。
ただし、実際のタイトルを本当に置き換えたい場合は、NSWindow
タイトル テキストをに設定し@""
て非表示にし、独自のビューに貼り付けて再描画します。
[[[theWindow contentView] superview] addSubview:theSubview];
これは基本的に、メイン コンテンツ ビューのスーパービューに別のサブビュー (コードからの直接の「翻訳」) を追加するように指示し、この新しいサブビューのフレームを調整して、タイトルを配置する必要がある場所に配置する必要があります (コンテンツ ビュー内だけでなく、タイトル バーの上など、ウィンドウ フレーム内の任意の場所に自由に配置できるようになりました)。
theSubview
ポップアップ ボタン、または任意のものにすることができます。また、ウィンドウ タイトルの元の描画と一致するようにポップアップ ボタンをカスタム描画する必要がある場合もあります。
これを行うには、IB のウィンドウにツールバーを追加します。ツールバーを追加したら、それをダブルクリックしてカスタマイザ ビューを開くことができます。ポップアップ ボタンを [Allowable Toolbar Items] 領域にドラッグし、そこに挿入した後、ツールバーのレイアウトを示す下部領域にドラッグできます。不要なデフォルト項目をそこにドラッグすることもできます.