UIBezierPath使用
UIBezierPath使用
贝塞尔弧线介绍:
\
1,UIBerzierPath类可以创建矢量路径,此类为Core
Grapice框架关于path的一个封装
\
2,UIBezierPath对象是CGPathRef数据类型封装,一个UIBezierPath对象定义一个完整的路径包括一个或者多个subpaths,包括直线和曲线。
\
\
使用方法:
1,创建一个path对象
2,使用方法moveToPoint:设置初始线段的起点
3,添加line或者curve定义一个或者多个subpaths
4,添加UIBezierPath对象绘图的属性
\
\
\
常用实例方法:
//根据一个矩形画曲线
- (UIBezierPath *)bezierPathWithRect:(CGRect)rect
\
//根据矩形框的内切圆画曲线\
+(UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect
//根据矩形画带圆角的曲线
- (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect
cornerRadius:(CGFloat)cornerRadius
//在矩形中,可以针对四角中的某个角加圆角
- (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect
byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii
参数:
corners:枚举值,可以选择某个角
cornerRadii:圆角的大小
//以某个中心点画弧线
- (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius
startAngle:(CGFloat)startAngle
endAngle:(CGFloat)endAngle
clockwise:(BOOL)clockwise;
参数:
center:弧线中心点的坐标
radius:弧线所在圆的半径
startAngle:弧线开始的角度值
endAngle:弧线结束的角度值
clockwise:是否顺时针画弧线
//画二元曲线,一般和moveToPoint配合使用
- (void)addQuadCurveToPoint:(CGPoint)endPoint
controlPoint:(CGPoint)controlPoint
参数:
endPoint:曲线的终点
controlPoint:画曲线的基准点
//以三个点画一段曲线,一般和moveToPoint配合使用
- (void)addCurveToPoint:(CGPoint)endPoint
controlPoint1:(CGPoint)controlPoint1
controlPoint2:(CGPoint)controlPoint2
参数:
endPoint:曲线的终点
controlPoint1:画曲线的第一个基准点
controlPoint2:画曲线的第二个基准点
\
//设置初始线段的起点
- (void)moveToPoint:(CGPoint)point\
\
\
简单代码如下:
UIBezierPath *path=[UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, 0)];
[path addLineToPoint:CGPointMake(60, 60)];
[path addLineToPoint:CGPointMake(20, 20)];
[path closePath];//关闭path,这个方法会自动连接最后点和起始点
画圆弧
UIBezierPath *path=[UIBezierPath bezierPath];
[path addArcWithCenter:CGPointMake(100, 100) radius:60 startAngle:0
endAngle:360 clockwise:YES];
立方和二次贝塞尔曲线