viewController.swift
GraphDemo
Created by Zhifeng Chen on 2020/ 8/ 4.
Copyright © 2020 Zhifeng chen. All rights reserved.
import UIKit
class CoreGraphuiview:UIView{
override func touchesBegan(_touches: Set<UITouch>, with event: UIEvent?) {
self.backgroundColor= UIColor.red
print("Began:\(touches)")
}
override func touchesEnded(_touches: Set<uITouch>, with event: UlEvent?){
self.backgroundColor= UIColor.lightgray
print("Ended:\(touches)")
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
self.backgroundColor= UIColor.blue
print("Moved:\(touches)")
}
}
class ViewController: UIViewController {
override func viewDidLoad(){
super.viewDidLoad()
Do any additional setup after loading the view.
let height = self.view.frame.size.height
let width = self.view.frame.size.width
let graphFrame = CGRect(x: 0, y: 0, width; width, height: height)
let graphview = CoreGraphUIView(frame: graphFrame)
graphview.backgroundColor= UIColor.white
self.view.addSubview(graphview)
}
}
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 viewController: 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)}
}