iOS Swift3.0 UIView動畫詳解

weixin_34365417發表於2018-01-05

iOS Swift3.0 UIView動畫詳解

[TOC]

在IOS開發中為了做一些比較炫的效果有時候免不了使用動畫。雖然蘋果自帶了CoreAnimation和Facebook的Pop等動畫框架,這些的確是程式設計師開發的利器,但是我們在做一些比較簡單的動畫時,我們直接使用UIView就可以了, 先給大家看看效果是不是想要的, 這只是一個學習基礎和入門,需要根據自己的實際情況在做詳細的開發。


2204230-1db3d27a506c75fb
這裡寫圖片描述

縮放動畫

縮放動畫可以讓一個View的大小發生改變,按照一定的比例放大縮小

//animScale 為動畫呼叫的方法
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
    }
}

旋轉動畫

旋轉動畫可以讓一個View繞原點進行旋轉

//animSpin 為動畫呼叫的方法
@IBAction func spinAnimation(_ sender: AnyObject) {
        UIView.animate(withDuration: 10, delay: 0, options: .curveLinear, animations: animSpin, completion: nil)
    }

func animSpin(){
        //旋轉角度
        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
        }
    }

實現這些動畫僅僅是一些簡單的,大家可以通過下載程式碼自己嘗試一下
程式碼地址https://github.com/thesnail/SwiftNotes

相關文章