var myString = "Hello world! - swift.jsrun.net"
print(myString)
import UIKit
class CoreGraphUIView: UIView f
override func touchesBegan ( touches: Set <UITouch>,with event: UIEvent?) (self.backgroundColor = UiColor.red
print ("Began: \(touches) ")
}
override func touchesEnded (_touches: Set <UlTouch>, with event: UIEvent?) (self, backgroundColor = UIColor.lightGray
print ("Ended: \(touches)")
}
override func touchesMoved( touches: Set<UlTouch>, with event: UIEvent?)( self, backgroundColor = Uicolor.blue
print ("Moved: \ (touches) ")
}
}
class ViewController: UIViewController(
override func viewDidLoad (0 f
super.viewDidLoad (0
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)
}
}
print(touch.location(in: view).y)
class Shape 【
var name : String?
var sides : Int?
Val origin: CGPoint?
var lineColor : UIColor = UICOLOr.red
var filColor: UICOLOr = UrCoLor.green
var linewiath : CGELoat = 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))")
}
}
[COImport UInit
IColclass 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,oriain = oriain
}
func sayhello) {
print("Shape is \(name!), sides \(sides!), and originCord is (\(originCord!.x),\(origin!.y))")
}
}
ass ViewController: UIViewController {
override func viewDidLoad 0 {
super.viewDidLoad 0
let myShape = Shape(name:"BaseShape", sides: 0, origin: CGPoint(x:0, y: 0)myshape. sayHello 0
1
import UIKit
class Shape I
var name : String?
var sides:Int?
var origin: CGPoint?
var lineColor: UIColor = UIColor.red
var lineWidth: CGFloat = 2
init(name: String, sides : Int, origin: CGPoint)
self.name = name
self.sides = sides
self.origin = origin
func sayHello 0 (
print ("Shape: \(name!), sides \(sides!), origin ((origin!.x),\(origin!.y)) ")}
}
}
class CzfView : UIView f
var shape : Shape?
override func draw(_ rect: CGRect) ( I
guard let s = shape else (
return
}
s.sayHello ()
}
}
class ViewController: UIViewController d
override func viewDidLoad0 (
super.viewDidLoad 0
let myShape = Shape(name:"BaseShape", sides: 0, origin: CGPOInt(x: 0. y: 0))
let width = self,view.frame.size,width
let height = self.view.frame.Size,height
let myView = CzfView (frame: CGreet (x: 0, y: 0, width: width,height: height))
myview.shape = myShape
self.view.addSubview(myview)
}
}
func drawBezlerrathO (
let path = UIBezierPath0 I
let center :CGPoint = CGPolnt (x: 100, y: 100)
let radius: CGFloat = 80
Path.addare(withCenter:center, radius: radius, startAngle:0,endAngle: CGFLoat.p1*2, clockwise: true)
path.lineWidth=5
UIColor.red.setStroke0
path.stroke0
}
S.drawBezierrath0
class Shape (
var name: String?
var origin : CGPoint?
var lineColor: UIColor? = UIColor.red
var fil1color: UIColor? = UIColor .green
var lineWidth : CGFloat? = 5
init(name : String, origin: CGPoint) (
self.name = name
self.origin = origin
)
convenience init(origin : CGPoint) f
self.init(name:"Shape Bassclass", origin: origin)
func drawBezierPathOf
print("Draw \(name!)")
}
}
class Line : 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)
override func drawBezierPath 0 {
print ("Draw \(name!)")
let path = UIBezierPath)
path.move (to: start!)
path.addLine (to: end!)
path.linewidth = linewidth!
path.lineCapStyle = .rouna
linecolor?.setstroke()
path.stroke()
}
}
class Rectangle : Shape (
var size : CGSize?
inst(name: String, origin: CGPoint , size : CGSize) {
super.init (name: name, origin: origin)
self.size = size
convenience init (origin: CGPoint , size: CGSize){
self.init(name:"Rectangle", origin: origin, size; size)
1
override func drawBezierPath 0{
let path = UrBezierPath(rect: CGRect (origin: origin!, size: size!))
path.lineWidth = lineWidth!
lineColor?.setstroke ()
path.stroke ()
}
}
class Rectangle : Shape (
var size: CGsize?
var corner: CGFloat?
init (name: String, origin: CGPoint, size: CGSize, corner : CGFloat) f
super.init (name: name, origin: origin)
self.size = size
self.corner = corner
convenience init (origin: CGPoint, size: CGSize, corner: CGFloat =0) f
self.init(name: "Rectangle", origin: origin, size: size, corner: corner)
)
override func drawBezierPathO(
print ("Draw \(name!) ")
let path = UIBezierPath(roundedRect : CGRect (origin : origin! size: size!), cornerRadius : corner!)
path.lineWidth = linewidth!
lineColor?.setStroke ()
path.stroke ()
}
}
let myRect = Rectangle(origin: start, size: CGSize (width: 150, height: 100),corner : 8.0)
let myRect = Rectangle(origin: start, size: CGSize (width: 150, height: 100))
class Circle: Shape (
var center: CGPoint?
var raduis : CGFloat?
var size : cGsize?
init(name: String, origin: CGPoint, center : CGPoint, raduis : CGFloat, size: CGSize) (super.init (name: name, origin: origin)
self.center = center
self.raduis = raduis
self.size = size
]
convenience init(center: CGPoint,raduis: CGFloat)(
let x =center.x- raduis
let y= centery-raduis
self.init(name: "Oval/Ellipse", origin: CGPoint (x:x, y:y),center:center, raduis: 0, size: size)
override func drawBezierPath Of
print ("Draw\(name!)")
let path = UIBezierPath(ovalln: CGRect(loriginorigin!, size:size!))
path.linewidth = linewidth!
linecolor?.setStroke ()
path. stroke ()
}
}
class Polygons : Shape (
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: "Triangel", origin: points.first!, points:points)
else if points.count >= 3 (
self.init (name: "Polygons", origin: points.first!, points: points)
else I
let origin = CGPoint (x: 0, y; 0)
self.init (name:"Error, origin: origin, points: points")
1
1
override func drawBezierPathO (
print ("Draw \(name!) ")
if(name == "Error"){
return
}
let path = UIBezierPath
pach.move (to: origin!)
for each in points! {
path.addLine (to: each)
}
path.close ()
path.lineWidth = lineWidth!
lineColor?.setstroke ()
path.stroke ()
path.fill ()
}
}
override func drawBezierPath () {
print("Draw \(name!)")
if (name =="Error") {
return
}
path = UIBezierPath ()
path?.move (to: origin!)
for each in points! {
path?.addLine (to: each)
}
path?.close()
path?.linewidth = 1inewidth!
linecolor?.setstroke ()
path?.stroke ()
path?.fi11()
}
}
class Fivestar : Shape {
var center : CGPoint?
var radius : CGFloat?
var angel : CGFloat?
init(name: string, origin: CGPoint, center : CGPoint, radius : CGFloat,angel : CGFloat, soundFile : String = "SO.m4a") {
super.init (name: name, origin: origin, soundFile: soundFile)
self.center = center
self.radius = radius
self.angel = angel
}
convenience init(center : CGPoint, radius: CFloat, angel: CGFloat = 0) {
let x = center.x - radius
let y = center.y - radius
self.init (name: "FiveStar", origin: CGPoint (x:x, y:y) , center: center,radius: radius, angel: angel)
}
override func drawBezierPath () {
print ("Drav \(name!)")
path = UIBezierPath()
let i = 360 /angel!
let xzAngle = CGFloat.pi*2/i
let xzX = (center?.x)!- sin(xzAngle) *radius!
let xzY = (center?.y)! - cos(xzAngle) *radius!
let pl = CGPoint (x:xzX,y:xzY)
path?.move(to: p1)
let angle = CGFloat.pi*4/5
for i in 1...5 {
let x = (center?.x)! - sin(CGFloat (i)*angle+xzAngle)*radius!
let y = (center?.y)!= cos(CGFloat (i)*angle+xzAngle)*radius!
path?.addLine (to: CGPoint (x: x, y: y) )
}
path?.close ()
if selectedFlag {
let dashes: [CGFloat] = [1, 3]
path?.setLineDash (dashes, count: dashes. count, phase: 0)
}
path?.lineWidth = lineWidth!
linecolor?.setstroke()
path?. stroke ()
}
}
marile: soundstle
class czfview : UIview {
private var shapes : Array<Shape> = []
override fune draw( rect : cGRect) {
for s in shapes {
s. drawBezierPath()
}
}
func add (shape : Shape) {
shapes.append (shape)
}
override func touchesBegan (_ touches: Set<UITouch>, with event: UIEvent?) {
let touch : UITouch = touches.first! as UIrouch
let point = touch . location (in: self)
for s in shapes {
if s.isSelected (point: point) {
s.playAudio ()
self.setNeedsDisplay()
}
}
}
}
class ViewController: UIViewController {
override func viewDidLoad () {
super.viewDidLoad ( )
let starcenter = CGPoint (x: 180,y: 180)
let star = FiveStar(center: starCenter, radius: 50, angel: 45)
star.linecolor = UIColor.blue
let ovalCenter = CGPoint (x: 100, y: 300)
let ovalsize = CGsize (width : 100, height: 60)
let oval = Circle (center: ovalCenter, size: ovalSize)
let rectorigin = CGPoint(x: 60,y:50)
let rectsize = CGSize(width: 100, height: 50)
let rect = Rectangle(origin: rectOrigin, size: rectSize, corner: 6)
rect.lineColor = UIColor.gray
let myView = Czfview (frame: CGRect (x: 0, y: 0, width: self.view.frame.size.width, height: self.view .frame .size.height))
myView.backgroundColor = UIColor.clear
myView.add (shape: star)
myView.add (shape: oval)
myView.add (shape: rect)
self.view.addSubview (myView)
}
}
*触摸事件
11
11
import UlKit
class CoreGraphUlView:UlView [
override func touchesBegan(_
touches:Set<UlTouch>, with
event: UIEvent?)
self.backgroundColor=UIColor. red
print("Began:\(touches)")
]
override func touchesEnded( touches: Set<UlTouch>, with
event:UlEvent?)[
self.backgroundColor=UIColor. lightGray
print("Ended:\(touches)")
]
override func touchesMoved( touches: Set<UlTouch>, with
event:UlEvent?)(
self.backgroundColor=UIColor. blue
print("Moved:\(touches)")
)
class ViewController:
UIViewControllerf
override func viewDidLoad()
super.viewDidLoad()
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=CoreGraphUlView(fram e:graphFrame)
graphview.backgroundColor= UIColor.white
self.view.addSubview(graphView)
*定义一个 Shape 类
class Shape
var name :string?
var sides:Int?
var origin: CGPoint?
var lineColor:UIColor=UlColor.red
var fillColor:UIColor=UIColor.green
var lineWidth ;CGFloat= 2
init(name: String, sides: Int, origin:CGPoint)f
self.namemname self.sides-sides self.origin m origin
]
func sayhello()
print("Shape is \(name!),sides \(sides!), and originCord
is(\(origin!.x),\(origin!.y)) ")
]]
*实例化 Shape 类
11
11
import Ulkit
class Shape f
var name: String?
var sides : Int?
var origin:CGPoint?
var lineColor: UIColor= UIColor.red
var fillColor:UlColormUlcolor.green
var lineWidth:CGFloat= 2
init(name: String,sides:Int, origin:CGPoint)[
self.name=name
self.sides =sides
self.originmorigin]
#myjson.js
module.exports=function()f var data =(users:[]]
for (vari=0;i<1000; i++)
data.users.push(f id:i,name: 'user'+ ij)
)
return data
]
# news.js
let Mock =require('mockjs');
let Random =Mock.Random; module.exports=function()( var data=(
news: []
];
var images =[1,2,3].
map(x=>Random.
image('200×100', Random.color()Random.word(2,6)));
for (vari=0;i<100; i++)
var content = Random.
cparagraph(0,10);
data.news.push(f
id: i,
title:Random.cword(8,20),
desc:content.substr(0,40),
tag:Random.cword(2,6),
views:Random.integer(100,5000)images:images.slice(0,Random.integer(1,3))
3)
]
return data
}
import UlKit
import Foundation
localhost:3004/news")[
URLSession.shared.
dataTask(with:url)((data,
response, error) in
if error != nil (
print("Network errors")
]
else
let rs = String(data: data!,
encoding: String.Encoding.utf8)!print(rs)
if let json = try? JSONSerialization. jsonObject(with:data!,
options:.allowFragments)(
print(json)
I]
)
.resume()
〕
func sessionGetData()(
//创建 URL 对象
let uriString ="http:
tuling123.com/"
let url = URL(string:urlString)
//创建请求对象
let request = URLRequest(url: url!) let session =URLSession.shared let dataTask = session.
dataTask(with: request,
completionHandler:((data,
response, error) -> Void in
if error != nilf
print(error.debugDescription)
jelse
let str = String(data: data!,
encoding:
String.Encoding.utf8)
print(str!)
]
]) as URLSessionTask
//使用 resume 方法启动任务
dataTask.resume()
fune sessionDownloadlmage()//下载地址
let url = URL(string: "http:
let request = URLRequest(url: url!) let session =URLSession.shared
let downloadTask = session.
downloadTask(with:request,
completionHandler:(
(location:URL?,response:
URLResponse?, error:Error?)
-> Void in
print("location:\(String(describing: location))")
let locationPath = location? path
let now = NSDate()