曲线

//初始化

CAShapeLayer*layer = [[CAShapeLayeralloc]init];

UIBezierPath*path = [[UIBezierPathalloc]init];

path.lineWidth=5.0; //线粗

path.lineCapStyle=kCGLineCapRound;//线条拐角

path.lineJoinStyle = kCGLineJoinRound; //终点处理

//画多边形

[pathmoveToPoint:CGPointMake(xx,xx)];//起点

[pathaddLineToPoint:CGPointMake(xx, xx)];//划线

[path closePath];//闭合

path.fillColor = [UIColorcolor].CGColor; //颜色填充

//方形

UIBezierPath* path = [UIBezierPathbezierPathWithRect:CGRectMake(20,20,100,80)];

//圆形或者椭圆

UIBezierPath*path = [UIBezierPathbezierPathWithOvalInRect:CGRectMake(30,30,100,80)];

/**

 画弧线(圆)

 @param center    圆中心点

 @param radius    圆半径

 @param startAngle起点

 @param endAngle  终点

 @param clockwise  YES:逆时针NO:顺时针

 */

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

UIBezierPath*path = [UIBezierPathbezierPathWithArcCenter:CGPointMake(100,200)radius:90startAngle:0endAngle:TO_RADIAUS(120)clockwise:NO];

/**

 二次元贝塞尔曲线

 @param endPoint    终点

 @param controlPoint起点终点相连的点

 */

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

[pathmoveToPoint:CGPointMake(40,150)];//起点

[path addQuadCurveToPoint:CGPointMake(240, 200) controlPoint:CGPointMake(20, 40)];

/**

 三次贝塞尔曲线

 @param endPoint     终点

 @param controlPoint1第一个相连点

 @param controlPoint2第二个相连点

 */

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

[pathmoveToPoint:CGPointMake(20,200)];//起点

[path addCurveToPoint:CGPointMake(260, 200) controlPoint1:CGPointMake(140, 150) controlPoint2:CGPointMake(140, 250)];

/**

 画圆

 @param center        中心点

 @param radius        半径

 @param startAngle    起点

 @param endAngle       终点

 @param initgreenTrack YES:顺时针  NO:逆时针

 */

- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;

/**

 矩形某角为圆角

 @param rect        frame

 @param corners  UIRectCornerTopLeft,UIRectCornerTopRight,UIRectCornerBottomLeft,UIRectCornerBottomRight,UIRectCornerAllCorners

 @param cornerRadii圆角大小

 */

+ (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容