绘制多行Core Graphics

时间:2015-07-29 06:58:04

标签: ios objective-c core-graphics

我有一个自定义视图,可以绘制动画 - 只是不同的线条,每条线条都有不同的颜色。当用户输入信息时,这些行显示在按钮上并创建到不同UILabel的行。

我正在关注本教程techotopia.com core graphics iOS 7 tutorial

它说要使UIView成为一个自定义类并将绘图放在drawRect:内 - 通过典型的上下文创建,添加线条,笔触,颜色等等。好的,但是如何获得多行?要同时绘制不同的颜色?

我是否需要为每一行创建图层?每行的新自定义类和视图?

如果我打电话给CGPathCloseSubpath,那么我可以创建一个新的起点吗?

如何更改新行的颜色,是否需要为新行创建新上下文?

1 个答案:

答案 0 :(得分:1)

使用UIBezierPath比CGPath和CGContext更容易。

-(void)drawRect:(CGRect)rect
{
    UIBezierPath *line1 = [UIBezierPath bezierPath];
    [line1 moveToPoint:CGPointMake(0, 0)];
    [line1 addLineToPoint:CGPointMake(100, 0)];
    [[UIColor redColor] set]; //Set color to red
    [line1 stroke];

    UIBezierPath *line2 = [UIBezierPath bezierPath];
    [line2 moveToPoint:CGPointMake(0, 10)];
    [line2 addLineToPoint:CGPointMake(100, 10)];
    [[UIColor blueColor] set]; //Change color to blue
    [line2 stroke];
}