[Swift]iOS开发之UIBezierPath初步使用

首先熟悉一下BezierPath的用法

定义path,此处用CGRect为例

let path = UIBezierPath(rect: CGRectMake(100, 100, 100, 100))

 再定义一个Layer

let myLayer = CAShapeLayer()

 将path赋给layer,再加上一些其它属性

myLayer.path = path.CGPath
myLayer.fillColor = UIColor.magentaColor().CGColor
myLayer.strokeColor = UIColor.blackColor().CGColor

最后添加

view.layer.addSublayer(myLayer)

 运行起来得到⬇️效果

其中path有很多设置方法,下面尝试其它形状

let path = UIBezierPath(roundedRect: CGRectMake(100, 100, 100, 100), cornerRadius: 10)

 

let path = UIBezierPath(roundedRect: CGRectMake(100, 100, 100, 100), cornerRadius: 50)

 

let path = UIBezierPath(ovalInRect: CGRect(x: 100, y: 100, width: 100, height: 200))

 

下面也是画圆的path,设置了startAngle和endAngle,注意此处用的是CGFloat!

let path = UIBezierPath(arcCenter: view.center, radius: 50.0, startAngle: 0.0, endAngle: CGFloat(M_PI * 2), clockwise: true)

 

稍稍改动一下

let path = UIBezierPath(arcCenter: view.center, radius: 50.0, startAngle: 0.0, endAngle: CGFloat(M_PI), clockwise: true)

 

clockwise是顺时针的意思,改为false试试

let path = UIBezierPath(arcCenter: view.center, radius: 50.0, startAngle: 0.0, endAngle: CGFloat(M_PI), clockwise: false)

 

这里的startAngle和endAngle都用弧度制表示,下图为方便参考

 

posted @ 2016-02-22 23:45  ybw123321  阅读(541)  评论(0编辑  收藏  举报