[iOS]實現了一套自訂動畫庫

來源:互聯網
上載者:User

實現了一套自訂動畫庫

羅朝輝(http://blog.csdn.net/kesalin)

轉載請註明出處

最近在 iOS 上實現了一套自訂動畫庫,可以支援任何數值型變數的值的自動動畫示範,並支援多種動畫效果,效果還是很炫的。比如說你設定了一個位移變數從50變到100,那麼這個變化過程就可以以動畫形式進行,而不是常規的一步到位。與 iOS 系統內建的 Animation 相比,我的這套自訂動畫庫,可配置性更高,使用更簡單。用 set 表示有動畫的設定值,用 update 表示常規的沒有動畫的設定值。目前支援的動畫類型如下:


enum EaseType_ {

    EaseType_None,

    EaseType_In,

    EaseType_Out,

    EaseType_InOut,

};

typedef int EaseType;

enum AnimationType_ {

    AnimationType_Linear,

    AnimationType_Bounce,

    AnimationType_Back,

    AnimationType_Quartic,

    AnimationType_Quintic,

    AnimationType_Circular,

    AnimationType_Cubic,

    AnimationType_Quadratic,

    AnimationType_Sinusoidal,

    AnimationType_Elastic,

};

typedef int AnimationType;

使用例子:

        // setup animation        //        propertyValue.duration = duration;        propertyValue.easeType = EaseType_Out;        propertyValue.animationType = AnimationType_Back;        // AnimationType_Elastic        // AnimationType_Back        // AnimationType_Bounce        // start animation        [propertyValue setValue:targetValue];

帶復原效果的旋轉 Pie 圖:

帶 Bounce 效果的旋轉菜單圖:

有空了再整理實現思路,詳細寫篇文章,放出源碼來。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.