3

これは以前に尋ねられたに違いありませんが、グーグルした後でも私は答えを見つけることができません。

タイトルバー(閉じるボタン、最小化ボタン、最大化ボタンでクリックしてドラッグできるバー)の色を、Cocoaのデフォルトの灰色とは異なる色に変更するにはどうすればよいですか?

4

5 に答える 5

12

「テクスチャ」ウィンドウの背景色(Snow Leopardでは実際にはそれほど表示されない区別)を設定すると、その色がタイトルバーにも適用されます。これはFirefoxが行うことです。

ただし、実際のタイトルバーを持たず(つまり、ウィンドウにタイトルバーがないように設定する)+[NSWindow standardWindowButton:forStyleMask:]、独自のボタンを使用して「タイトルバー」に配置することをお勧めします。これにより、より詳細な制御が可能になり、ハッキーが大幅に減少します。

于 2010-05-09T21:07:10.377 に答える
3

パネルの場合は、 HUDウィンドウとしてインスタンス化することで黒に変更できます。

そうでなければ、あなたはできません。他のアプリで異なる色のタイトルバーがローミングしているAquaウィンドウがないことに気付いたことがありますか?これが理由です。

(フレームビューの存在などのプライベート実装の詳細に依存せずに)タイトルバーの外観を変更する他の唯一の方法は、ウィンドウをフチなしにし、タイトルバーとウィンドウボタンをゼロから作成することです。

于 2010-05-09T18:41:16.343 に答える
2

インターフェイスビルダーでウィンドウをテクスチャリングするというColinのアプローチ(ウィンドウの属性のチェックボックス)を使用する場合、appDelegate.mファイルのこの関数に配置するウィンドウの背景色を変更する行は次のとおりです。

//この関数では--->-(void)applicationDidFinishLaunching:(NSNotification *)aNotification

//これを入力[_windowsetBackgroundColor:NSColor.whiteColor];

于 2013-07-05T15:44:27.767 に答える
0

プライベートAPIを気にしない場合は、NSThemeFrameをサブクラス化できます。

于 2010-05-09T21:12:54.483 に答える
0

タイトルバーの設定が透明に表示される

self.window.titlebarAppearsTransparent = YES;

そして、あなたが望むようにウィンドウの背景色を設定します

于 2019-06-28T19:16:36.640 に答える