Playground是蘋果公司在2014年WWDC上隨Swift一起推出的列敲,是一款可以實(shí)現(xiàn)實(shí)時(shí)預(yù)覽代碼的效果工具。之前在做一些算法練習(xí)的時(shí)候使用它很方便莉擒,代碼寫完結(jié)果立刻就呈現(xiàn)出來了酿炸,最近在系統(tǒng)的學(xué)習(xí)CoreAnimation類庫,發(fā)現(xiàn)使用Playground也是很方便的涨冀,就選它來寫練習(xí)代碼啦√钏叮現(xiàn)在記錄下來我的學(xué)習(xí)過程,一是梳理記憶鹿鳖,加強(qiáng)學(xué)習(xí)效果扁眯,二來與大家分享一些心得體會(huì),發(fā)現(xiàn)自己的不足翅帜。
首先是創(chuàng)建一個(gè)Playground工程姻檀。打開Xcode,并選擇Get started with a palyground涝滴。
??給工程命名:
選擇創(chuàng)建工程路徑:
至此我們就創(chuàng)建好了一個(gè)Playground:
接下來要做的事就是引入PlaygroundSupport用來展示代碼的UI效果绣版,并對Playground的顯示模式做調(diào)整,這樣實(shí)時(shí)的UI效果就會(huì)顯示在屏幕的右邊歼疮。像這樣:
下面我們寫個(gè)簡單的View來測試一下我們的工程
import UIKit
import PlaygroundSupport
let testView = UIView(frame: CGRect(x: 0, y: 0, width: 375.0, height: 667.0))
testView.backgroundColor = UIColor.white
let anotherTestView = UIView(frame: CGRect(x: 10, y: 20, width: 100, height: 100))
anotherTestView.backgroundColor = UIColor.red
testView.addSubview(anotherTestView)
PlaygroundPage.current.liveView = testView
運(yùn)行效果如圖:
請注意紅框部分的代碼杂抽,這一行的作用類似于UIView的addSubview,沒有這一行代碼的話韩脏,UI是不會(huì)顯示出來的呦缩麸。你還可以將一個(gè)UIViewController賦值給PlaygroundPage.current.liveView。像這樣:
//: Playground - noun: a place where people can play
import UIKit
import PlaygroundSupport
class TestVC: UIViewController {
var layerView = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))
var colorLayer = CALayer()
var btn = UIButton(type: UIButtonType.system)
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(self.layerView)
self.view.addSubview(self.btn)
self.view.backgroundColor = UIColor.white
self.btn.frame = CGRect(x: 10, y: 120, width: 80, height: 40)
self.btn.backgroundColor = UIColor.yellow
self.btn.addTarget(self, action:#selector(btnClicked) , for: UIControlEvents.touchUpInside)
self.colorLayer.frame = CGRect(x: 20, y: 20, width: 50, height: 50)
self.colorLayer.backgroundColor = UIColor.black.cgColor
let transition = CATransition()
transition.type = kCATransitionFade
self.colorLayer.actions = ["backgroundColor": transition]
self.layerView.layer.addSublayer(self.colorLayer)
}
func btnClicked() {
let red = CGFloat(arc4random())/CGFloat(INT_MAX)
let green = CGFloat(arc4random())/CGFloat(INT_MAX)
let blue = CGFloat(arc4random())/CGFloat(INT_MAX)
self.colorLayer.backgroundColor = UIColor(red: red, green: green, blue: blue, alpha: 1.0).cgColor
}
}
let vc = TestVC()
PlaygroundPage.current.liveView = vc
效果如下圖赡矢,點(diǎn)擊黃色按鈕就可以改變colorLayer的顏色:
至此杭朱,我們的準(zhǔn)備工作就完成了,然后我們就能開心的使用Playground學(xué)習(xí)動(dòng)畫制作啦~~
??To be continued……