UIBezierPath
看了前面,大家是不是都想来看看UIBezierPath详解呢,然后开始展示真正的装逼技术撒,其实,看完你就会发现UIBezierPath也就那么回事(先泼一盆冷水)
创建UIBezierPath的类方法介绍
- 初始化
+ (instancetype) bezierPath; |
- 初始化矩形
/** |
- 椭圆形
/** |
圆角矩形
/**
* 该方法将会创建一个闭合路径, 该方法会顺时针方向连续绘制直线和曲线. 当 rect 为正方形时且 cornerRadius 等于边长一半时, 则该方法会描述一个圆形路径.
* @param rect: 矩形路径的 Frame
* @param cornerRadius: 矩形的圆角半径
*/
+ (instancetype) bezierPathWithRoundedRect:(CGRect)rect
cornerRadius:(CGFloat)cornerRadius;特定的圆角矩形
/** |
- 弧度
/** |
根据具体路径返回形状
+ (instancetype) bezierPathWithCGPath:(CGPathRef)CGPath; |
- 修改绘制方向
/** |
- 开始点(将currentPoint移动到指定的点)
// 将开始描绘的点移动到某一点 |
- 添加直线
/** |
- 添加弧线
/**
* 该方法将会从 currentPoint 添加一条指定的圆弧.
* 该方法的介绍和构造方法中的一样. 请前往上文查看
* @param center: 圆心
* @param radius: 半径
* @param startAngle: 起始角度
* @param endAngle: 结束角度
* @param clockwise: 是否顺时针绘制
*/
- (void)addArcWithCenter:(CGPoint)center
radius:\(CGFloat\)radius |
- 添加一条三次贝塞尔曲线
/** |
- 添加一条二次贝塞尔曲线
/** |
- 关闭子路径(连接一条线到起点)
/** |
- 删除所有路径(点)
- (void)removeAllPoints; |
- 将指定的UIBezierPath中的内容添加到当前UIBezierPath中
/** |
绘图属性
- 线宽
/**
线宽属性定义了
UIBezierPath
对象中绘制的曲线规格. 默认为: 1.0
*/
@property(nonatomic) CGFloat lineWidth;曲线终点样式
/** |
- 曲线连接样式
/** |
- 内角和外角的距离
/** |
- 渲染精度
/** |
- 虚线
/** |
- 重新获取虚线样式
/** |
绘制路径
- 填充
/** |
- 描边
- (void)stroke; |
- 混合
/** |
路径剪切
/** |
一些判断
- 是否包含某个点
/** |
- 路径是否为空
/** |
- 路径覆盖的矩形区域
/** |
放射变换
/** |
画个虚线
UIBezierPath *path =[UIBezierPath bezierPath]; |