0

私はチュートリアルに従っています。次のメソッドは、からサブクラス化されたクラスに属していNSviewます。赤い長方形を描いているだけです。私はそれがどのようにそれをしているのか理解できません。[bkgColor set]設定されたメッセージが何をしているのか、背景色にどのように影響しているのかわかりませんか?

- (void) drawRect: (NSRect) rect {
    NSRect bounds = [self bounds];
    NSColor *bkgColor = [NSColor redColor];
    [bkgColor set];
    [NSBezierPath fillRect: bounds];
}

ありがとう!

4

2 に答える 2

4

このsetメソッドは、後続の描画コマンドの現在の描画コンテキストの色を設定します。クレヨンの箱を持っているかのように考えてください。赤いクレヨンを手に取ると、これは に相当する[[NSColor redColor] set]ので、線や図形を描くと赤になります。

于 2012-12-14T00:21:48.803 に答える
0

ベジエ パスが四角形を赤色で塗りつぶすように色を設定します。
色を設定しない場合、以前に設定した色が使用されます (設定していない場合はデフォルトの色)。したがって、色が greenColor の場合、すべての四角形が緑色で塗りつぶされていることがわかります。

于 2012-12-14T00:18:32.700 に答える