更改drawRect的背景颜色

时间:2015-11-10 23:43:27

标签: ios drawing drawrect

我在名为“LineView.m”的文件中使用drawRect:绘制了一条线。

在另一个名为'ViewController.m'的文件中,我正在创建一个'else if'语句。调用此语句时,它将更改drawRect:的颜色。但是我该如何写出那样做的东西呢?

我找到了其他对象的示例,例如视图,背景等。

 self.box.backgroundColor = [UIColor clearColor];

但这对drawRect无效,因为我需要在'box'处放置一些东西,这将标识drawRect。但是什么?

我可以命名我的drawRect:并使用该名称来识别它吗?

1 个答案:

答案 0 :(得分:0)

在LineView.h中创建一个名为lineColor的UIColor属性。在LineView.m中,覆盖默认的lineColor设置器,如下所示:

-(void)setLineColor:(UIColor *)lineColor
{
    _lineColor = lineColor;
    [self setNeedsDisplay];
}

然后在绘制线之前在drawRect中说:

[self.lineColor setStroke];

现在您可以像这样设置线条颜色:

self.lineView.lineColor = [UIColor redColor/* or whatever you want*/];
编辑:我误解了你的问题,上面的内容会改变这条线的颜色。要更改背景,请说出self.lineView.backgroundColor = [UIColor someColor];之类的内容,其中lineView是您调用LineView对象实例的任何内容。