使用变量设置默认NSView填充颜色

时间:2012-08-01 17:54:29

标签: objective-c macos nsview

我试图用我的NSView填充颜色,但它没有使用我想要的颜色。它只是黑色。

这是我对NSView的子类的实现:

#import "OCOvalView.h"

@implementation OCOvalView

- (id)initWithFrame:(NSRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        bgColorValue = [NSColor greenColor];//I WANT IT TO BE FILLED GREEN
    }

    return self;
}

- (void)drawRect:(NSRect)dirtyRect
{
    [bgColorValue set];
    [NSBezierPath fillRect:[self bounds]];//BUT IT ENDS UP BLACK!!
}

@end

如果我将[bgColorValue set];更改为[[NSColor greenColor] set];,它会有效,但我想使用如上所示的变量。

如何使填充颜色与bgColorData的颜色相同?

1 个答案:

答案 0 :(得分:1)

解决方案:由于我在bgColorValue内设置了initWithFrame:frame,因此在这种情况下不会调用它。我现在将变量设置为:

-(void)awakeFromNib{
    bgColorValue = [NSColor greenColor];
}