1

我想在不使用 CALayer 的情况下设置视图的背景颜色。

请帮帮我。

4

1 回答 1

5

您没有指定您是在谈论 AppKit (OSX) 还是 UIKit (iOS)。我假设您在谈论 AppKit,因为大多数来自 UIKit 的人都会遇到这个问题。

NSView 本身并不绘制背景或背景颜色。您必须继承 NSView 并在 中绘制自己的颜色drawRect,或者使用 AppKit 中提供的 NSBox 绘制背景。

如果你将 NSView 子类化,那么你的drawRect方法可能如下所示:

- (void) drawRect:(NSRect)dirtyRect {
    [[NSColor blackColor] setFill];
    NSRectFill(dirtyRect);
}

如果你决定使用 NSBox,那么你可以这样设置背景颜色:

[myBox setFillColor:[NSColor blackColor]];
于 2012-08-07T22:48:13.693 回答