UIBezierPath路径绘图
一.新建一个playground
二.新建一个类继承与UIView
三.重写类中的drawRect()方法
四.定义坐标点(我们这里定义五个点,打算绘制一个五角星)
五.生成UIBezierPath类的实例,利用UIBezierPath类下的自定义方法(见上篇)给出绘制出路径,
代码及效果如下图:
swift源代码如下:
//[P113]
//创建自定义路线
class MyView1:UIView{
override func drawRect(rect: CGRect) {
var bezierPath=UIBezierPath()//生成UIBexierPath的实例
var drawRect=CGRectInset(self.bounds,//边界内缩5%
self.bounds.size.width * 0.05,
self.bounds.height * 0.05);
//画一个五角星
//确定画图的点
var point1=CGPointMake(25, 40)
var point2=CGPointMake(10, 0)
var point3=CGPointMake(50, 25)
var point4=CGPointMake(0, 25)
var point5=CGPointMake(40, 0)
//开始绘制
bezierPath.moveToPoint(point1)//定点
bezierPath.addLineToPoint(point2)//产生一条路径
bezierPath.addLineToPoint(point3)
bezierPath.addLineToPoint(point4)
bezierPath.addLineToPoint(point5)//并不是闭合的
//bezierPath.addLineToPoint(point1)
//使路径闭合
bezierPath.closePath()
//bezierPath.removeAllPoints()//删除所有的路径绘图
//添加颜色
UIColor.redColor().setFill()//设置填充颜色为红色
UIColor.yellowColor().setStroke()//设置路径颜色为黄色
bezierPath.fill() //对实例进行填充(顺序不一样,效果也不同)
bezierPath.stroke() //对实例进行描边
}
}
let rect=CGRect(x: 0, y: 0, width: 200, height: 200)
var myView1 = MyView1(frame: rect)