0

色で塗りつぶそうとして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ですか?

4

1 に答える 1

1

解決策:bgColorValue内で設定しinitWithFrame:frameていたため、この場合は呼び出されませんでした。変数を次のように設定しました。

-(void)awakeFromNib{
    bgColorValue = [NSColor greenColor];
}
于 2012-08-01T18:19:54.400 に答える