//初始化
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;