0

我有一个标准的 NSPanel 设置为 HUD 样式。我想更改背景颜色,主要是因为我想要一个工具栏,并且看不到任何使标准 nstoolbar 在 HUD 上看起来不错的方法,也没有直接自定义工具栏背景的方法。

我知道创建完全自定义窗口的多种方法,并在其他情况下使用这些方法。在这种情况下,我想要一个窗口提供的所有好东西,但我只是不想要透明度。有趣的是,我可以更改背景颜色,但不能更改 alpha。设置 alpha 值对窗口没有影响。

以前有人解决过这个问题吗?

4

1 回答 1

0

将面板的内容视图(只需在面板内单击以选择它,而不是标题栏)的子类设置为SGPanelViewSGPanelView使用您的类的 drawRect 方法的实现来实现:SGPanelView,NSView 的子类:

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

应该管用。如果不起作用,请尝试更改boundsframe.


有关更多信息,请参阅http://developer.apple.com/library/mac/#documentation/cocoa/reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html

于 2010-11-15T15:11:47.040 回答