改变drawRect的颜色

时间:2015-11-10 21:41:48

标签: ios objective-c drawing drawrect

我使用drawRect绘制了一条线。现在我想改变它的颜色。

示例代码:self.pattern.backgroundColor = [UIColor clearColor];

我需要能够像该代码一样更改drawRect的颜色。我陷入了代码的第二部分。

self. ? . backgroundColor:问号是我被困的地方。我应该为drawRect添加什么?

以下是我drawRect的一些代码:

- (void)drawRect:(CGRect)rect {

    CGContextRef context = UIGraphicsGetCurrentContext();

    // Setup background
    //CGFloat components1[] = {0.0, 0.0, 0.0, 1.0};
    //CGColorSpaceRef colorspace1 = CGColorSpaceCreateDeviceRGB();
    ////CGColorRef black = CGColorCreate(colorspace1, components1);
    //CGContextSetFillColorWithColor(context,black);
    //CGContextSetRGBFillColor(context,0.0,0.0,0.0,1.0);

    //  1 pixel: iphone 6 the point = 0.5 and 6 plus = 0.333333;
    //CGFloat point =1.f/[UIScreen mainScreen].scale;
    CGFloat point =width/[UIScreen mainScreen].scale;
    CGContextSetLineWidth(context,point);
    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();

    CGFloat red []   = {1.0, 0.0, 0.0, 1.0}; // green
    CGFloat green [] = {0.0, 1.0, 0.0, 1.0}; // green
    CGColorRef color = CGColorCreate(colorspace, green);

    CGContextBeginPath(context);
    if(bFirstLine && bAlter)
    {
        CGColorRef colorR = CGColorCreate(colorspace, red);
        CGContextSetStrokeColorWithColor(context, colorR);
    }
}

1 个答案:

答案 0 :(得分:0)

[[UIColor redColor] setFill]; // to set the color for fillings
[[UIColor redColor] setStroke]; // to set the color for strokes

在你的情况下(如果我帮你做对):

[self.backgroundColor setFill];
[self.backgroundColor setStroke];