UIBezierPath
这个类在UIKit中, 是Core Graphics框架关于path的一个封装,使用此类可以定义简单的形状,比如我们常用到,矩形,圆形,椭圆,弧,或者不规则的多边形
一.贝塞尔曲线的方法初解
1.1创建对象
+ (instancetype)bezierPath;
1.2用一条CGPath初始化另一条path。
+ (instancetype)bezierPathWithRect:(CGRect)rect;
1.3创建一个椭圆或者圆
+ (instancetype)bezierPathWithOvalInRect:(CGRect)rect;
1.4创建一个带有圆角的矩形
// @param rect 矩形区域
// @param cornerRadii 圆角半径
+ (instancetype)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius;
1.5创建一个指定某有个角为圆角的矩形 可以多选
/**
@param rect 矩形区域
@param corners 枚举:哪个角是圆角(多个时用 ‘|’分开)
@param cornerRadii 圆角半径
*/
+ (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;
1.6创建一个圆弧路径
/**
@param center 圆心
@param radius 半径
@param startAngle 开始角度(0-M_PI)
@param endAngle 结束角度
@param clockwise 是否顺时针
*/
+ (instancetype)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
1.7根据CGPath创建对象
+ (instancetype)bezierPathWithCGPath:(CGPathRef)CGPath;
1.8设置起点
- (void)moveToPoint:(CGPoint)point;
1.9添加一段直线
- (void)addLineToPoint:(CGPoint)point;
1.10添加一段三次贝塞尔曲线
/**
@param endPoint 结束点
@param controlPoint1 控制点1
@param controlPoint2 控制点2
*/
- (void)addCurveToPoint:(CGPoint)endPoi