0

在互联网上的任何地方,我都可以读到要更改 NSView 的背景颜色,您可以像这样覆盖它的方法 drawRect :

- (void)drawRect:(NSRect)rect
{
    [[NSColor yellowColor] set];
    NSRectFill(rect);
}

例如这里

但是,在我的情况下,颜色是在视图顶部绘制的(我再也看不到内容了),这对我来说很合乎逻辑。DrawRect 应该绘制视图,而不仅仅是它的背景。

我错过了什么?

4

2 回答 2

2

您应该[super drawRect:rect]在填充背景后调用。否则,您只是替换了超类的实现将绘制的所有内容。

于 2013-02-14T16:19:31.510 回答
0

您引用的示例是在背景上方显示视图的子视图。

于 2013-02-14T16:17:06.940 回答