自定义路径绘图实例

自定义按路径绘图的实例操作如下: 
 

一.新建一个playground

二.新建一个类继承与UIView

三.重写类中的drawRect()方法

四.定义坐标点(我们这里定义五个点,打算绘制一个五角星)

五.生成UIBezierPath类的实例,利用UIBezierPath类下的自定义方法(见上篇)给出绘制出路径,

代码及效果如下图:

自定义路径绘图实例_第1张图片

自定义路径绘图实例_第2张图片


自定义路径绘图实例_第3张图片

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)




你可能感兴趣的:(UIBezierPath,自定义路径绘图)