我在名为“LineView.m”的文件中使用drawRect:
绘制了一条线。
在另一个名为'ViewController.m'的文件中,我正在创建一个'else if'语句。调用此语句时,它将更改drawRect:
的颜色。但是我该如何写出那样做的东西呢?
我找到了其他对象的示例,例如视图,背景等。
self.box.backgroundColor = [UIColor clearColor];
但这对drawRect
无效,因为我需要在'box'处放置一些东西,这将标识drawRect。但是什么?
我可以命名我的drawRect:
并使用该名称来识别它吗?
答案 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对象实例的任何内容。