快速上手IOS UIBezierPath(贝塞尔曲线)

2020-01-18 21:43:05王旭
uibezierpath,ios,贝塞尔曲线,贝塞尔曲线案例

创建带有圆角的矩形,当矩形变成正圆的时候,Radius就不再起作用


UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(50, 300, 50, 50) cornerRadius:15.0f];
path.lineWidth = 5.0f;
[path stroke];

uibezierpath,ios,贝塞尔曲线,贝塞尔曲线案例

设定特定的角为圆角的矩形


UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(50, 400, 50, 50) byRoundingCorners:UIRectCornerBottomLeft cornerRadii:CGSizeMake(5,5)];
path.lineWidth = 5.0f;
[path stroke];

uibezierpath,ios,贝塞尔曲线,贝塞尔曲线案例

创建圆弧


UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(100, 550) radius:25 startAngle:0 endAngle:1.5*M_PI clockwise:YES];
path.lineWidth = 5.0f;
[path stroke];

uibezierpath,ios,贝塞尔曲线,贝塞尔曲线案例

通过路径A创建路径B


UIBezierPath *path_A = [UIBezierPath bezierPath];
[path_A moveToPoint:CGPointMake(200, 50)];
[path_A addLineToPoint:CGPointMake(250, 100)];
path_A.lineWidth = 5.0f;
UIBezierPath *path_B = [UIBezierPath bezierPathWithCGPath:path_A.CGPath];
[path_B stroke];

uibezierpath,ios,贝塞尔曲线,贝塞尔曲线案例

创建三次贝塞尔曲线


UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(100, 200)];
[path addCurveToPoint:CGPointMake(300, 200) controlPoint1:CGPointMake(150, 150) controlPoint2:CGPointMake(250, 250)];
[path stroke];

uibezierpath,ios,贝塞尔曲线,贝塞尔曲线案例

创建二次贝塞尔曲线


UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(100, 200)];
[path addQuadCurveToPoint:CGPointMake(300, 200) controlPoint:CGPointMake(150, 150)];
[path stroke];

uibezierpath,ios,贝塞尔曲线,贝塞尔曲线案例