编辑代码

classPolygons:Shape11多边形主要是通过多个顶点相互连接来绘图
//顶点数组
var points: Array<CGPoint>?
init(name: String, origin: CGPoint, points : Array<CGPoint>)
super.init (name: name, origin: origin)
self.points =points
convenience init(points : Array<CGPoint>)(
if points.count== 3 (
self.init(name: "rriangel", origin: points.first!, points: points)
]
else if points.count >= 3 
self.init(name: "Polygons", origin: points.first!, points: points))
else
let origin = CGPoint(x: 0, y: 0)
self.init(name: "Error", origin: origin, points: points)] 
]
// 重载 drawBezierPath方法
override func drawBezierPath()i
//向控制台输出信息
print("Draw \(name!)")
//如果不能识别,直接返回
if(name =="Error")
return
}
//建立一个UIBezierPath 实例对象
let path = UIBezierPath()
//调用实例path的move 方法移动
path.move(to:origin!)
for each in points!
//调用实例path的addLine 方法画线
path.addLine(to:each)
)
path.close()
//设置实例path 的线条宽度
path.lineWidth lineWidth!
//设置实例path 的线条颜色
lineColor?.setStroke()
//画出线条
path.stroke()
path.fill()
}
}