UIBezierPath画圆

CGPointpointA =CGPointMake(60,10);

CGPointpointB =CGPointMake(110,60);

CGPointpointC =CGPointMake(60,110);

CGPointpointD =CGPointMake(10,60);

CGFloatoffset =100/3.6;

CGPointpointA1 =CGPointMake(pointA.x+ offset, pointA.y);

CGPointpointA2 =CGPointMake(pointB.x, pointA.y+offset);

CGPointpointB1 =CGPointMake(pointB.x, pointB.y+ offset);

CGPointpointB2 =CGPointMake(pointC.x+ offset, pointC.y);

CGPointpointC1 =CGPointMake(pointC.x- offset, pointC.y);

CGPointpointC2 =CGPointMake(pointD.x, pointD.y+offset);

CGPointpointD1 =CGPointMake(pointD.x, pointD.y- offset);

CGPointpointD2 =CGPointMake(pointD.x+ offset, pointA.y);

self.circlePath= [UIBezierPathbezierPath];

[self.circlePathmoveToPoint:pointA];

[self.circlePathaddCurveToPoint:pointBcontrolPoint1:pointA1controlPoint2:pointA2];

[self.circlePathaddCurveToPoint:pointCcontrolPoint1:pointB1controlPoint2:pointB2];

[self.circlePathaddCurveToPoint:pointDcontrolPoint1:pointC1controlPoint2:pointC2];

[self.circlePathaddCurveToPoint:pointAcontrolPoint1:pointD1controlPoint2:pointD2];

self.circleLayer= [CAShapeLayerlayer];

self.circleLayer.lineWidth=3;

self.circleLayer.fillColor= [UIColorblackColor].CGColor;

self.circleLayer.path=self.circlePath.CGPath;

self.layer.frame=CGRectMake(100,100,120,120);

//[self.layer.mask addSublayer:self.layer];

self.layer.mask=self.circleLayer;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言:关于贝塞尔曲线与CAShapeLayer的学习 学习Demo演示: 贝塞尔曲线简单了解 使用UIBezier...
    麦穗0615阅读 17,938评论 18 149
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,149评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,585评论 6 30
  • 专用图层 简书很多标签不支持,以下目录跳转没用!!! CAShapeLayer CATextLayer CATra...
    百草纪阅读 1,337评论 0 4
  • 找到内心的平和,做一个内心强大到混蛋的人。 我现在才发现,自己一直追求的潇洒,随性,洒脱,其实来至自信,你对自己彻...
    梦夕梦阅读 110评论 0 0