Я искал веб-страницы, но я не видел способа изменить прозрачность HUD (ВСЕ прозрачность панели, включая строку заголовка). Его можно изменить?HUD NSPanel менее прозрачный
Thx
Я искал веб-страницы, но я не видел способа изменить прозрачность HUD (ВСЕ прозрачность панели, включая строку заголовка). Его можно изменить?HUD NSPanel менее прозрачный
Thx
Вы должны быть в состоянии использовать 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) поставить пользовательские непрозрачный подвид там и жить с полупрозрачным заголовка; б) используйте NSPanel
с обычным стилем, цвет фона и непрозрачность которого может изменить и жить с ним, являясь обычной строкой заголовка; или d) create your very own custom window (хорошая ссылка на другую запись в нижней части этой статьи). См. Также эту статью о создании собственного window frame (предупреждение: этот использует частный API и ему несколько лет).
Это возможно. Вам просто нужно сделать это программно, установив цвет (включая альфа) на слой Core Animation на панели. Вот пример настройки панели HUD с немного меньшей прозрачности:
view.layer.backgroundColor = [NSColor colorWithSRGBRed:0.2 green: 0.2 blue: 0.2 alpha:0.7].CGColor
Просто помните, что вы должны сделать это после того, как загрузится вид, например. не устанавливайте его в init:
Thx, но проблема в том, что [self setAlphaValue: 1] является прозрачностью HUD по умолчанию. Я хочу меньше прозрачности! – Andreu
Errr ... Насколько я знаю, 0.5 меньше 1 ... – Macmade
Я хочу меньше прозрачности, чем AlphaValue = 1, поэтому «AlphaValue должно быть> 1» – Andreu