使用CGPath绘制一条线

时间:2011-03-25 15:53:17

标签: iphone core-graphics

如何使用CGPath画一条线?

2 个答案:

答案 0 :(得分:27)

由于您没有真正指定如何使用路径绘制线条,我只想举个例子。

在左上角和右下角(在iOS上)之间绘制一条对角线,并在UIView的drawRect中显示路径:

- (void)drawRect:(CGRect)rect { 
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, 0, 0);
    CGPathAddLineToPoint(path, NULL, CGRectGetMaxX(rect), CGRectGetMaxY(rect));
    CGPathCloseSubpath(path);
    CGContextAddPath(ctx, path);
    CGContextSetStrokeColorWithColor(ctx,[UIColor whiteColor].CGColor);
    CGContextStrokePath(ctx);
    CGPathRelease(path);
}

答案 1 :(得分:8)

<强> theView.h

#import <UIKit/UIKit.h>

@interface theView : UIView {
}

@end

<强> theView.m

#import "theView.h"

@implementation theView

-(void)drawRect:(CGRect)rect {

    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
    CGContextSetLineWidth(context, 2.0);
    CGContextMoveToPoint(context,0,0);
    CGContextAddLineToPoint(context,20,20);
    CGContextStrokePath(context);
}

@end

创建上述文件。
基于窗口的应用程序:添加新的UIView并将其类更改为View 基于视图的应用程序:将UIView类更改为View 最后点击“构建并运行”:)

结果:红色对角线。