我想在不使用CALayer的情况下设置视图的背景颜色。
请帮帮我。
你没有具体说明你是在谈论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]];