Какао HUD Окно: удалить прозрачность? - PullRequest
0 голосов
/ 11 ноября 2010

У меня есть стандартная NSPanel в стиле HUD.Я хочу изменить цвет фона, в первую очередь потому, что хочу иметь панель инструментов и не вижу ни способа сделать ни стандартную панель nstool хорошо выглядящей на HUD, ни способа настроить фон панели инструментов напрямую.

Я знаю о множестве способов создания полностью настраиваемого окна и использую их в других обстоятельствах.В этом случае мне нужны все хорошие вещи, которые предоставляет окно, но я просто не хочу прозрачности.Интересно, что я могу изменить цвет фона, но не альфа.Установка альфа-значений не влияет на окно.

Кто-нибудь решал эту проблему раньше?

1 Ответ

0 голосов
/ 15 ноября 2010

Установите для подкласса Content-View панели (просто щелкните внутри панели, чтобы выбрать его, а не заголовок) равным SGPanelView и сделайте это SGPanelView с этой реализацией метода drawRect вашего класса: SGPanelView, подклассNSView:

- drawRect:(NSRect)dirtyrect {
  [[NSColor blackColor] set];
  [NSBezierPath fillRect:[self bounds]];
}

Должно работать.Если не работает, попробуйте изменить bounds на frame.


См. http://developer.apple.com/library/mac/#documentation/cocoa/reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html для получения дополнительной информации.

...