轉(zhuǎn)場動畫

public enum TransitionType:String{
    ///交叉淡化過渡
    case Fade = "fade"
    ///新視圖移到舊視圖上面
    case MoveIn = "moveIn"
    ///新視圖把舊視圖推出去
    case Push = "push"
    ///將舊視圖移開,顯示下面的
    case Reveal = "reveal"
    ///向上翻一頁
    case PageCurl = "pageCurl"
    ///向下翻一頁 
    case PageUnCurl = "pageUnCurl"
    ///滴水效果
    case RippleEffect = "rippleEffect"
    ///收縮效果,如一塊布被抽走 
    case SuckEffect = "suckEffect"
    ///立方體效果
    case Cube = "cube"
    ///上下翻轉(zhuǎn)效果
    case OglFlip = "oglFlip"
}

public enum TransitionDirection:String {
    case FromRight = "fromRight"
    case FromLeft = "fromLeft"
    case FromTop = "fromTop"
    case FromBottom = "fromBottom"
}

extension UIView{
    
    ///添加轉(zhuǎn)場動畫
    public func addTransitionAnimation(duration:Double,type:TransitionType,direction:TransitionDirection){
        
        //1.創(chuàng)建動畫對象
        let animation = CATransition.init()
        //2.設(shè)置動畫時間
        animation.duration = duration
        //3.設(shè)置動畫類型
        animation.type = type.rawValue
        //4.設(shè)置動畫方向
        animation.subtype = direction.rawValue
        //5.添加動畫
        self.window?.layer.addAnimation(animation, forKey: nil)
        
    }

    
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容