//初始化
CAShapeLayer*layer = [[CAShapeLayeralloc]init];
UIBezierPath*path = [[UIBezierPathalloc]init];
path.lineWidth=5.0; //线粗
path.lineCapStyle=kCGLineCapRound;//线条拐角
path.lineJoinStyle = kCGLineJoinRound; //终点处理
//画多边形
[pathmoveToPoint:CGPointMake(xx,xx)];//起点
[pathaddLineToPoint:CGPointMake(xx, xx)];//划线
[path closePath];//闭合
path.fillColor = [UIColorcolor].CGColor; //颜色填充
//方形
UIBezierPath* path = [UIBezierPathbezierPathWithRect:CGRectMake(20,20,100,80)];
//圆形或者椭圆
UIBezierPath*path = [UIBezierPathbezierPathWithOvalInRect:CGRectMake(30,30,100,80)];
/**
画弧线(圆)
@param center 圆中心点
@param radius 圆半径
@param startAngle起点
@param endAngle 终点
@param clockwise YES:逆时针NO:顺时针
*/
+ (instancetype)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
UIBezierPath*path = [UIBezierPathbezierPathWithArcCenter:CGPointMake(100,200)radius:90startAngle:0endAngle:TO_RADIAUS(120)clockwise:NO];
/**
二次元贝塞尔曲线
@param endPoint 终点
@param controlPoint起点终点相连的点
*/
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
[pathmoveToPoint:CGPointMake(40,150)];//起点
[path addQuadCurveToPoint:CGPointMake(240, 200) controlPoint:CGPointMake(20, 40)];
/**
三次贝塞尔曲线
@param endPoint 终点
@param controlPoint1第一个相连点
@param controlPoint2第二个相连点
*/
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
[pathmoveToPoint:CGPointMake(20,200)];//起点
[path addCurveToPoint:CGPointMake(260, 200) controlPoint1:CGPointMake(140, 150) controlPoint2:CGPointMake(140, 250)];
/**
画圆
@param center 中心点
@param radius 半径
@param startAngle 起点
@param endAngle 终点
@param initgreenTrack YES:顺时针 NO:逆时针
*/
- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
/**
矩形某角为圆角
@param rect frame
@param corners UIRectCornerTopLeft,UIRectCornerTopRight,UIRectCornerBottomLeft,UIRectCornerBottomRight,UIRectCornerAllCorners
@param cornerRadii圆角大小
*/
+ (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;