Web を検索してきましたが、HUD の透明度 (タイトル バーを含むすべてのパネルの透明度) を変更する方法に遭遇しませんでした。それを変更することは可能ですか?
どうも
Web を検索してきましたが、HUD の透明度 (タイトル バーを含むすべてのパネルの透明度) を変更する方法に遭遇しませんでした。それを変更することは可能ですか?
どうも
setAlphaValue
NSWindow から継承された を使用できるはずです。
[ myPanel setAlphaValue: 0.5 ];
不可能です。HUDパネルは透明にすることを目的としています。不透明度やベースビューの不透明度を変更することはできません。
NSLog(@"opaque before? %@", [hud isOpaque] ? @"YES" : @"NO");
[hud setOpaque:YES];
NSLog(@"opaque after? %@", [hud isOpaque] ? @"YES" : @"NO");
OpaqueHUD[18952:a0b] opaque before? NO
OpaqueHUD[18952:a0b] opaque after? NO
NSLog(@"alpha before: %.2f", [hud alphaValue]);
[hud setAlphaValue:1.0f];
NSLog(@"alpha after: %.2f", [hud alphaValue]);
OpaqueHUD[18952:a0b] alpha before: 1.00
OpaqueHUD[18952:a0b] alpha after: 1.00
NSView * contentView = [hud contentView];
// In layer-backed mode
NSLog(@"content alpha before: %.2f", [contentView alphaValue]);
[contentView setAlphaValue:1.0];
NSLog(@"content alpha after: %.2f", [contentView alphaValue]);
OpaqueHUD[18952:a0b] content alpha before: 1.00
OpaqueHUD[18952:a0b] content alpha after: 1.00
次のことを行う必要があります。1)カスタムの不透明なサブビューをそこに配置し、半透明のタイトルバーを使用します。b)NSPanel
背景色と不透明度を変更できる通常のスタイルでを使用し、通常のタイトルバーとして使用します。またはd)独自のカスタムウィンドウを作成します(その記事の下部にある別の記事への適切なリンク)。独自のウィンドウフレームの作成に関するこの記事も参照してください(警告:プライベートAPIを使用しており、数年前のものです)。