UIBezierPath绘制图形的常用方法详解

1、绘制一个矩形的曲线

方法:

+ (UIBezierPath*)bezierPathWithRect:(CGRect)rect;

效果如下

矩形曲线
2、绘制一个矩形框内的内切圆

方法:

+ (UIBezierPath*)bezierPathWithOvalInRect:(CGRect)rect;

效果如下


圆形曲线
3、根据矩形画圆角的矩形:

方法

+ (UIBezierPath*)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius;

效果如下

带圆角的矩形
4、在矩形中针对四个角中的某个角加圆角:

方法

//cornerRadii是圆角的大小。
+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;

参数:
cornerRadii:圆角的大小
corners:是枚举值,可以选择某个角,包括

typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
    UIRectCornerTopLeft     = 1 << 0,
    UIRectCornerTopRight    = 1 << 1,
    UIRectCornerBottomLeft  = 1 << 2,
    UIRectCornerBottomRight = 1 << 3,
    UIRectCornerAllCorners  = ~0UL
};

效果如下


对矩形某个角加圆角
5、以某个中心点画圆弧:

方法

+ (instancetype)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;

参数:
center:弧线中心点的坐标
radius:弧线所在圆的半径
startAngle:弧线开始的角度值
endAngle:弧线结束的角度值
clockwise:是否顺时针画弧线

效果如下


以某个中心点画圆弧

其中center是弧线中心点的坐标,radius是弧线所在圆的半径,startAngle是弧线开始的角度值,endAngle是弧线结束的角度值,clockwise是否顺时针画弧线。

6、画二元曲线:

方法

- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;

参数:
endPoint:曲线的终点
controlPoint:画曲线的基准点
效果如下


二元曲线

具体代码如下:

UIBezierPath *thePath = [UIBezierPath bezierPath]; 
[thePath moveToPoint:CGPointMake(10, 100)]; 
[thePath addQuadCurveToPoint:CGPointMake(120, 100) controlPoint:CGPointMake(100, 200)];
7、画两个控制点的曲线:

方法

- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;

参数:
endPoint:曲线的终点
controlPoint1:画曲线的第一个基准点
controlPoint2:画曲线的第二个基准点
效果如下

两个控制点的曲线

具体代码如下:

UIBezierPath *thePath = [UIBezierPath bezierPath]; 
[thePath moveToPoint:CGPointMake(10, 100)]; 
[thePath addCurveToPoint:CGPointMake(200, 100) controlPoint1:CGPointMake(60, 70) controlPoint2:CGPointMake(80, 200)];

你可能感兴趣的:(UIBezierPath绘制图形的常用方法详解)