编辑代码

class Fivestar :Shape (
//五角星和正五边形较为类似//中心坐标
var center : CGPoint?//半径
var radius : cGFloat?//旋转的角度
var angel : GFloat?//构造器
init(name:String,origin: CGPoint,center: CGPoint, radius :CGPloat,ang
:CGFloat ){
super.init(name: name,origin: origin) self.center=center self.radius = radius self.angel=angel
convenience init(center:CGPoint, radius :CGFloat,angel : CGFloat
=0){
let x=center.x-radius let y=centery-radius
self.init(name:"FiveStar", origin: CGPoint(x:x,y:y), center:
center, radius: radius, angel: angel)
//自定义方法drawBezierPath用于曲五角星 override func drawBezierPath()(
//调用贝塞尔曲线函数UIBezierPath() let path-UIBezierPath()//五角星旋转顶点
leti-360/angel!
let xzAngle=CGFloat.pi*2/i
let xzX=(center?.x)!- sin(xzAngle)*radius! let xzY=(center?y)!-cos(xzAngle)*radius! let p1=CGPoint(x: xzX,y: xzY) path.move(to:p1)
let angle=CGFloat.pi*4/5 for i in 1...5 {
letx=(center?.x)!- sin(CGFloat(i)*angle+xzAngle)*radiu let y=(center?.y)!-cos(CGFloat(i)*angle+xzAngle) *radius! path.addLine(to:CGPoint(x:xy:Y))

path.close()//线条宽度
path.lineWidth = lineWidth!//线条颜色为red红色
lineColor?.setStroke()//画出这个圆 path.stroke()