• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[Swift]iOS开发之UIBezierPath画曲线

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

用过任何绘图软件的朋友对Bezier曲线都不会陌生,就是钢笔工具~下面来看看Bezier曲线的画法,首先定义startPoint、endPoint和controlPoint

let startPoint = CGPointMake(100, 100)
let endPoint = CGPointMake(300, 100)
let controlPoint = CGPointMake(150, 50)

 再定义path和layer

let path = UIBezierPath()
let layer = CAShapeLayer()

 设置Bezier曲线的起点、终点和控制点

path.moveToPoint(startPoint)
path.addQuadCurveToPoint(endPoint, controlPoint: controlPoint)

 最后添加layer到view

layer.path = path.CGPath
layer.fillColor = UIColor.clearColor().CGColor
layer.strokeColor = UIColor.blackColor().CGColor
        
view.layer.addSublayer(layer)

 运行我们可以看到⬇️图效果

为了更好地理解Bezier曲线,我们为它添加起点终点和控制点的layer

let slayer = CALayer()
let elayer = CALayer()
let clayer = CALayer()
        
slayer.frame = CGRectMake(startPoint.x, startPoint.y, 5, 5)
elayer.frame = CGRectMake(endPoint.x, endPoint.y, 5, 5)
clayer.frame = CGRectMake(controlPoint.x, controlPoint.y, 5, 5)
        
slayer.backgroundColor = UIColor.redColor().CGColor
elayer.backgroundColor = UIColor.redColor().CGColor
clayer.backgroundColor = UIColor.redColor().CGColor

view.layer.addSublayer(slayer)
view.layer.addSublayer(elayer)
view.layer.addSublayer(clayer)

 Run

是不是赶脚很熟悉,就是钢笔工具的赶脚嘛~接下来可以自己调节controlPoint试试~

还可以添加两个控制点,更改fillcolor

clayer2.frame = CGRectMake(controlPoint2.x, controlPoint2.y, 5, 5)

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap