drawRect真的改变了NSView的背景颜色吗?

时间:2013-02-14 16:13:24

标签: objective-c cocoa

互联网上的任何地方我都可以读到要更改NSView的背景颜色,你可以覆盖它的方法drawRect,如下所示:

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

例如here

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

我错过了什么?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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