介绍两种画直线的方法:
(1)通过QuartzCore
(2)通过UIBezierPath
先创建一个自定义view:
然后在导入QuartzCore框架:
然后在m文件打出下面代码,三种函数都是同样的效果:
#import "ZCView.h"
#import <QuartzCore/QuartzCore.h>
@implementation ZCView
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
*/
- (void)drawRect:(CGRect)rect {
[self drawLine3];
}
- (void)drawLine1
{
//获取上下文
CGContextRef context = UIGraphicsGetCurrentContext();
//设置路径
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 50, 50);
CGPathAddLineToPoint(path, NULL, 200, 200);
//添加路径
CGContextAddPath(context, path);
//画上去
CGContextStrokePath(context);
}
- (void)drawLine2
{
//获取上下文
CGContextRef context = UIGraphicsGetCurrentContext();
//设置路径
CGContextMoveToPoint(context, 50, 50);
CGContextAddLineToPoint(context, 200, 200);
//画上去
CGContextStrokePath(context);
}
- (void)drawLine3
{
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(50, 50)];
[path addLineToPoint:CGPointMake(200, 200)];
[path stroke];
}
@end
在drawRect函数里面调用不同的函数就行了,效果如下: