如何加入圆角线

时间:2014-04-24 11:11:34

标签: ios cgcontext cgpath

我有三点,A,B和C,这三个点的代码如下所示

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
    CGContextRef context = UIGraphicsGetCurrentContext();

    NSArray *points = @[       [NSValue valueWithCGPoint:CGPointMake(10.0f, 15.0f)],
                               [NSValue valueWithCGPoint:CGPointMake(100.0f, 170.0f)],
                               [NSValue valueWithCGPoint:CGPointMake(190.0f, 100.0f)],
                               ];

    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
    CGContextSetLineWidth(context, 2.0f);
    CGContextSetLineJoin(context, kCGLineJoinRound);
    CGContextSetLineCap(context, kCGLineCapRound);


    for(int i = 0;i<points.count; ++i){

        NSValue *pointValue = [points objectAtIndex:i];
        CGPoint point = [pointValue CGPointValue];
        if ( i == 0) {
            CGContextMoveToPoint(context, point.x, point.y);
        } else {
            CGContextAddLineToPoint(context, point.x, point.y);
        }
    }
    CGContextStrokePath(context);   
}

enter image description here

然而,两条线的连接是一个角度,我需要用圆形角连接点B.如下图:

enter image description here

怎么做?

1 个答案:

答案 0 :(得分:2)

你所拥有的是2条直线,你要求的是(可能是2条直线,连接)弧形/贝塞尔曲线。

请使用CGPathAddArcToPointCGPathAddCurveToPointCGPathAddQuadCurveToPoint