贝塞尔曲线画出简单弧线

最近产品提了一个需求,说是把View的上面设置成弧形,当初首先想到的就是让美工给切张图,当然这是最简单的,后来想了想,用贝塞尔曲线也可以实现这种效果,正好也熟悉下贝塞尔。结果发现,单纯的画个弧线还是挺容易的,特此记录一下。

UIBezierPath * bezierPath = [UIBezierPath bezierPath];

////设置线段的起始位置

[bezierPath moveToPoint:CGPointMake(0,0)];

[bezierPath addQuadCurveToPoint:CGPointMake(UI_SCREEN_WIDTH,0) controlPoint:CGPointMake(UI_SCREEN_WIDTH/2, -50)];

//闭合曲线:让起始点和结束点连接起来

[bezierPath closePath];

self.CurvedLineLayer= [CAShapeLayer layer];

//填充颜色

self.CurvedLineLayer.fillColor= [UIColorwhiteColor].CGColor;

self.CurvedLineLayer.path= bezierPath.CGPath;

[self.headView.layeraddSublayer:self.CurvedLineLayer];

这种实现方法是利用三个点画弧线,moveToPoint即是曲线的起点,ToPoint是终点,controlPoint就是中间的基点,然后三点连接起来,即可画出一条简单的弧线。

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

推荐阅读更多精彩内容

  • 谈谈贝塞尔曲线 最近在做项目的时候,需要用到一个动画,非常简单的动画,简单到就是直接对一个View做平移… 然而虽...
    雨润听潮阅读 11,307评论 1 16
  • UIBezierPath详解 我在写本篇文章之前,也没有系统学习过贝塞尔曲线,只是曾经某一次的需求需要使用到,才临...
    白水灬煮一切阅读 4,908评论 0 4
  • 玩转贝塞尔曲线 历史:由法国雷诺汽车的工程师皮诺尔·贝塞尔发明,应用于雷诺汽车设计原理铺垫:给定 n+1个数据点,...
    百草纪阅读 4,895评论 1 9
  • Quartz2D以及drawRect的重绘机制字数1487 阅读21 评论1 喜欢1一、什么是Quartz2D Q...
    PurpleWind阅读 4,233评论 0 3
  • 天黑了,或许永远也不会白了。 每次打电话回家,最害怕听家里人说,村里谁谁谁又被查出来晚期重症,治不好了。 每年过年...
    蜡笔小谢abc阅读 1,696评论 0 0