起因
?昨天在群里看到一個安卓的好友分享了一個比較有意思的動畫材义,有點類似直播平臺上的“冒泡”效果的粒子動畫,感覺挺不錯的,趕巧前段時間在看一個開源App的時候也看到一個類似的饼灿,因此正好拿出來練練手。
基礎
?iOS相對于安卓平臺帝美,動畫一直是其強項碍彭,因此要實現類似的效果,代碼也是相對容易。因此只要學會一個CAEmitterLayer就可以了庇忌,是不是很簡單舞箍?
概況
?CAEmitterLayer是官方基于Core Animation實現的粒子發(fā)生器系統(tǒng)。其中的每個粒子又都是一個CAEmitterCell的實例皆疹。在該系統(tǒng)中疏橄,粒子繪制在背景色與border之上。其本身繼承自CALayer略就,用法自然也和CALayer基本一次捎迫。
?CAEmitterCell在粒子系統(tǒng)中作為粒子的實體,本身繼承自NSObject表牢,通過它和CAEmitterLayer的組合窄绒,就很容易實現一些炫酷的功能。
常見屬性簡介
? 本來這部分想自己寫的崔兴,但是突然在網上看到了一篇相似的博客彰导,發(fā)現作者實現寫得太詳細了,我實在沒有必要再閉門造車恼布,大家如果有興趣就自己去看看:傳送門
動畫實現
?基礎不用講了螺戳,那就直接上代碼吧。
?寫到這里都不知道該寫些什么折汞,因為這個Demo本身也沒有什么難度倔幼,對于iOS開發(fā)者來說僅僅是一個控件的學習,所以就不廢話了爽待,直接貼上代碼:
?整個CAEmitterLayer使用大概這樣的流程损同,入門還是很簡單,如果想做出更好的效果鸟款,大家就自己去動手嘗試吧膏燃。