class shape {
var name : String?
var sides : Int?
var origin : CGPoint?
var lineColor : UIColor = UIColor.red
var fillColor : UIColor = UIColor.green
var lineWidth : CGFloat =2
init(name : String, sides : Int, origin :CGPoint) {
self.name=name
self.sides = sides
self.origin = origin
}
func sayHello(){
print("Shape is \(name!),sides \(sides!), and origincord is(\
(origin!.x),\(origin!.y)) ")
}
}
class view
Controller: UIviewCon troller {
override func viewDidLoad() {
super.viewDidLoad()
let myShape = Shape(nam e:"BaseShape", sides: 0, origin: CGPoint(x:0,y:0))
myShape.sayHello()
}
}
import ulkit
class Shape {
var name : string?
var sides : Int?
var origin : CGPoint?
var lineColor : UIColor = UIColor.red
var fillcolor : UIColor = UIColor.green
var lineWidth : CGFloat = 2
init(name : String, sides : Int, origin : CGPoint) {
self.name=name
self.sides=sides
self.origin=origin
func sayHello(){
print("Shape:\(name!),sides \(sides!), origin (\(origin!.x),\
(origin!.y)) ")
}
}
class Czfview : UIView {
var shape : shape?
override func draw(_ rect: CGRect) {
guard let s = shape else {
return
}
s.sayHello()
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myShape = Shape(name:"B aseShape", sides: 0,origin: CGPoint(x:0,y:0))
let width = self.view.fral me.size.width
let height = self.view.fr ame.size.height
let myView=Czfview(frai me: CGRect(x: 0, y: 0, width: width,
height: height))
myView.shape=myShape
self.view.addSubview(myView)
}
}
func drawBezierPath(){
let path = UIBeziPath()
let center :CGPoint =CGPoint(x: 100,y : 100)
let radius :cgfloa
path.addArc(withcenendAngle:cGFloat.pi*2,clockwiater: center, radius: radius, startAngle: 0 se: true)
path.lineWidth =5
UIColor.red.setStroke()
path.stroke()
}
class Rectangle : Shape {
var size :cgsize?
init(name: String, origin:CGPointsize:CGSize){
super.init(name: name, origin: origin)
self.size=size
}
convenience init(origin: CGPoint, size:CGSize){
self.init(name: "Rectangle", origin: origin, size: size)}
}