動畫(二)

這期動畫是對基礎(chǔ)動畫的一個小結(jié)。
動畫的基本屬性請看:iOS動畫一

說到總結(jié)基礎(chǔ)動畫再總結(jié)下屬性吧。
想要的動畫的動畫屬性

typedef enum : NSUInteger {
    Fade = 1,                   //淡入淡出
    Push,                       //推擠
    Reveal,                     //揭開
    MoveIn,                     //覆蓋
    Cube,                       //立方體
    SuckEffect,                 //吮吸
    OglFlip,                    //翻轉(zhuǎn)
    RippleEffect,               //波紋
    PageCurl,                   //翻頁
    PageUnCurl,                 //反翻頁
    CameraIrisHollowOpen,       //開鏡頭
    CameraIrisHollowClose,      //關(guān)鏡頭
    CurlDown,                   //下翻頁
    CurlUp,                     //上翻頁
    FlipFromLeft,               //左翻轉(zhuǎn)
    FlipFromRight,              //右翻轉(zhuǎn)
    
} AnimationType;

動畫順序速率的快慢

 kCAMediaTimingFunctionLinear            線性,即勻速
 kCAMediaTimingFunctionEaseIn            先慢后快
 kCAMediaTimingFunctionEaseOut           先快后慢
 kCAMediaTimingFunctionEaseInEaseOut     先慢后快再慢
 kCAMediaTimingFunctionDefault           實(shí)際效果是動畫中間比較快.

動畫執(zhí)行的方向

 kCATransitionFromLeft
 kCATransitionFromBottom;
 kCATransitionFromRight;
 kCATransitionFromTop;
屏幕快照 2015-11-02 13.34.33.png
#pragma CATransition動畫剝離 傳入一個1.過度動畫類型和2.動畫方向,還有要在3.哪個視圖上顯示。
- (void) transitionWithType:(NSString *) type WithSubtype:(NSString *) subtype ForView : (UIView *) view
{
    //創(chuàng)建CATransition對象
    CATransition *animation = [CATransition animation];
    
    //設(shè)置運(yùn)動時間
    animation.duration = JFDURATION;
    
    //設(shè)置運(yùn)動type
    animation.type = type;
    if (subtype != nil) {
        
        //設(shè)置子類
        animation.subtype = subtype;
    }
    
    //設(shè)置運(yùn)動速度
    animation.timingFunction = UIViewAnimationOptionCurveEaseInOut;
    
    [view.layer addAnimation:animation forKey:@"animation"];
}

#pragma UIView實(shí)現(xiàn)動畫
- (void) animationWithView : (UIView *)view WithAnimationTransition : (UIViewAnimationTransition) transition
{
    [UIView animateWithDuration:JFDURATION animations:^{
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [UIView setAnimationTransition:transition forView:view cache:YES];
    }];
}
基礎(chǔ)動畫效果圖.gif
2.gif

注本博文是參考一個小青玉伏案 的博友,在此感謝他的總結(jié)。


具體實(shí)現(xiàn)已經(jīng)在源碼里面解釋的很清楚了,不懂的話可以直接評論或者私信。

希望您繼續(xù)關(guān)注我哦。指出不足之處我會很開心。會盡快改正過來的。

動畫(2)已經(jīng)來了,動畫(3)還會遠(yuǎn)嗎?


源碼地址鏈接:

點(diǎn)擊下載源碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 上一篇 Android 屬性動畫(一) 介紹了Property Animator 的基本用法。今天繼續(xù)了解Prop...
    yoosir閱讀 425評論 0 1
  • 在上篇文章 屬性動畫(一) 中已經(jīng)對屬性動畫有了基本的介紹,本篇文章將對屬性動畫中稍微高級點(diǎn)的內(nèi)容進(jìn)行介紹,主要介...
    lijiankun24閱讀 387評論 0 0
  • 概述 上一篇講到了屬性動畫,主要講到了用法和大概的思路。但是沒有講到具體是如何實(shí)現(xiàn)動畫的。這里我們分析下View動...
    twinsnan閱讀 1,142評論 0 1
  • 6> CoreAnimation Core Animation是直接作用在CALayer上的,并非UIView。C...
    coma閱讀 661評論 0 0
  • 不知道從什么時候開始,人們開始急功近利。 商業(yè)上的咱們暫且不談,生活中的例子真的數(shù)不勝數(shù)。 以前我們讀書的時候,每...
    居然sir閱讀 501評論 0 0