classLine : Shape [
//线段的起点
var start : CGPoint?
//线段的终点
var end :CGPoint?
//构造器
init(name: String, origin: CGPoint, start: CGPoint, end : CGPoint)
super.init(name: name, origin: origin)
self.start = start
self.end = end
convenience init(start : CGPoint, end : CGPoint)
self.init (name: "Line", origin: start, start: start, end: end)
//重载drawBezierPath方法
override func drawBezierPath()
//向控制台输出信息
print("Draw \(name!)")
// 建立一个 UIBezierPath 实例对象
let path = UIBezierPath()
//调用实例path的move方法移动
path.move(to:start!)
//调用实例path的addLine方法画线
path.addLine(to: end!)
class Rectangle:Shape
/左上角采用基类Shape中的属性origin
//宽度和高度,一般可以采用CGSize
var size : CGSize?
//构造器
init(name: String, origin: CGPoint,size : CGSize) 1
super.init (name: name, origin: origin)
self.size = size
convenience init(origin: CGPoint , size : CGSize) f
self.init (name: "Rectangle", origin: origin, size: size))
/ / 重载 drawBezierPath方法
override func drawBezierPath()i
/1向控制台输出信息
print("Draw \(name!) ")
//建立一个UIBezierpath实例对象
let path =UIBezierPath(rect: CGRect(origin: origin!, size: size!))//设置实例path 的线条宽度
path.lineWidth = lineWidth!
//设置实例path的线条颜色
lineColor?.setStroke()
//画出线条
path.stroke()
}
}