iOS Swift3.0 UIView動畫詳解
[TOC]
在IOS開發(fā)中為了做一些比較炫的效果有時候免不了使用動畫冯凹。雖然蘋果自帶了CoreAnimation和Facebook的Pop等動畫框架冯挎,這些的確是程序員開發(fā)的利器炭分,但是我們在做一些比較簡單的動畫時缺猛,我們直接使用UIView就可以了, 先給大家看看效果是不是想要的, 這只是一個學習基礎和入門,需要根據(jù)自己的實際情況在做詳細的開發(fā)懂鸵。
縮放動畫
縮放動畫可以讓一個View的大小發(fā)生改變掸茅,按照一定的比例放大縮小
//animScale 為動畫調(diào)用的方法
UIView.animate(withDuration: 2, animations: animScale)
//縮小為原來的0.5倍或者還原為原來的大小弱匪;
func animScale(){
self.Image.transform = CGAffineTransform(scaleX: scale, y: scale)
if scale == 0.5 {
scale = 1
}else{
scale = 0.5
}
}
旋轉(zhuǎn)動畫
旋轉(zhuǎn)動畫可以讓一個View繞原點進行旋轉(zhuǎn)
//animSpin 為動畫調(diào)用的方法
@IBAction func spinAnimation(_ sender: AnyObject) {
UIView.animate(withDuration: 10, delay: 0, options: .curveLinear, animations: animSpin, completion: nil)
}
func animSpin(){
//旋轉(zhuǎn)角度
self.Image.transform = self.Image.transform.rotated(by: CGFloat(360))
}
透明度動畫
透明度動畫可以讓一個View的透明度在0~1之間改變青瀑。透明度為0表示全透明,看不見了痢法。透明度為1表示和正常情況下一樣
@IBAction func animAlpha(_ sender: AnyObject) {
UIView.animate(withDuration: 2, animations: animAnimation)//時常為2s狱窘;
}
//改變透明度到0.2 或者還原
func animAnimation(){
if alpha == 0.2 {
self.Image.alpha = alpha
alpha = 1
}else {
self.Image.alpha = alpha
alpha = 0.2
}
}
實現(xiàn)這些動畫僅僅是一些簡單的,大家可以通過下載代碼自己嘗試一下
代碼地址https://github.com/thesnail/SwiftNotes