我正在尝试使用如下代码在NSView中绘制简单的矩形:
self.shapeLayer = [CAShapeLayer layer];
self.shapeLayer.lineWidth = 2.0;
self.shapeLayer.strokeColor = [[NSColor whiteColor] CGColor];
self.shapeLayer.fillColor = [[NSColor blackColor] CGColor];
[self.layer addSublayer:self.shapeLayer];
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 400, 400);
CGPathAddLineToPoint(path, NULL, 400, 600);
CGPathAddLineToPoint(path, NULL, 600, 600);
CGPathAddLineToPoint(path, NULL, 600, 400);
CGPathCloseSubpath(path);
// set the shape layer's path
self.shapeLayer.path = path;
我也尝试在NSView drawRect:
中画一些东西。
在这两种情况下,Rectangle都会被绘制,但它不是在笔触/填充颜色集中,而是一些半透明版本,如alpha 0.5!
我试图在放置在NSWindow内部的NSView上绘制这个Rectangle,它将backgroundColor设置为clearColor并且对NO不透明。 我认为可能存在与此透明度相关的内容,因此我将背景颜色更改为greenColor,将不透明更改为YES。我仍然得到半透明的矩形而不是生动的纯色。 我做错了什么?