cocoa:如何在不使用CALayer的情况下将视图的背景颜色设置为可可的浅绿色?

use*_*948 1 cocoa objective-c

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

请帮帮我.

Rya*_*ols 5

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

NSView本身不绘制背景或背景颜色.您必须子类化NSView并绘制自己的颜色drawRect,或者使用AppKit中提供的NSBox来绘制背景.

如果您继承NSView,那么您的drawRect方法可能如下所示:

- (void) drawRect:(NSRect)dirtyRect {
    [[NSColor blackColor] setFill];
    NSRectFill(dirtyRect);
}
Run Code Online (Sandbox Code Playgroud)

如果您决定使用NSBox,则可以这样设置背景颜色:

[myBox setFillColor:[NSColor blackColor]];
Run Code Online (Sandbox Code Playgroud)