最近产品提了一个需求,说是把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就是中间的基点,然后三点连接起来,即可画出一条简单的弧线。
网友评论