setBackgroundColor包含元素

时间:2010-09-15 19:52:19

标签: objective-c cocoa nswindow

我有一个NSWindow,我正在使用此代码在底部添加一个底部金属条。

[MyWindow setContentBorderThickness:40.0 forEdge:NSMinYEdge];

工作正常。但是,一旦我使用它:

[MyWindow setBackgroundColor: [NSColor redColor]];

红色覆盖底部的栏。条形图正确显示,没有背景颜色。

1 个答案:

答案 0 :(得分:2)

是的,似乎更改NSWindow的背景颜色会否定其底部边框。为了实现这两种效果,您可以执行以下两项操作之一:

  1. 在Interface Builder中,将所有界面元素移动到NSView的子类,绘制其背景并将视图添加到窗口。
  2. 创建一个模拟窗口底部边框的NSView并设置窗口的背景颜色。
  3. 就个人而言,我会选择第一个选项,因为它需要较少的工作(尝试模拟底部边框将很困难,即使使用NSGradient),但两者都是可能的。