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)];