一句話實(shí)現(xiàn)性感動(dòng)畫(huà)swift_ios

一行代碼搞定酷炫動(dòng)畫(huà)

之前寫(xiě)了幾篇關(guān)于UIView動(dòng)畫(huà)和CA動(dòng)畫(huà)的理論以及它們的關(guān)系,并沒(méi)有真正從實(shí)踐的角度去實(shí)現(xiàn)各個(gè)動(dòng)畫(huà)編程。然而這次就該記錄下到底怎么在APP中運(yùn)用各類(lèi)動(dòng)畫(huà)了,也剛剛手上剛好有個(gè)音樂(lè)播放器demo,就拿你練手吧。


  • 先來(lái)看看效果圖到底是怎樣的。
效果美到?jīng)]話說(shuō)
  • 在構(gòu)建的多個(gè)動(dòng)畫(huà)中,自己覺(jué)得有點(diǎn)小得意的就是歌曲列表后面那個(gè)隨音樂(lè)跳動(dòng)的動(dòng)畫(huà)。在第一個(gè)gif里面不能明顯清晰的呈現(xiàn)出來(lái),于是有了第二個(gè)gif。
第一個(gè)gif
  • 第二個(gè)gif中就比較清晰可見(jiàn)了。非常有節(jié)日氣氛,凌亂中帶有美的感覺(jué)。如果加載到特定的app中,估計(jì)更有一番風(fēng)味。這些都不重要,重要的是動(dòng)畫(huà)簡(jiǎn)單易得卻不失風(fēng)范。怎么簡(jiǎn)單?一行代碼夠簡(jiǎn)單了吧。世界上難道還存在不用代碼就能實(shí)現(xiàn)動(dòng)畫(huà)的嗎?那是storyboard世界嗎?嘻嘻開(kāi)個(gè)玩笑,估計(jì)有,是我不知道而已。
GRMusicUIAnimation2.gif
容我先記錄一下第一個(gè)gif里面所包含的動(dòng)畫(huà)嗎?其實(shí)光看gif,有點(diǎn)難看出所有animation,還需娓娓道來(lái)。
  • 1.首先從上往下開(kāi)始說(shuō)啊(要怪我嗎),第一個(gè)肯定是那個(gè)旋轉(zhuǎn)的封面,這旋轉(zhuǎn)動(dòng)畫(huà)想必不用多嘴,略過(guò)。

  • 2.旋轉(zhuǎn)封面上有個(gè)綠色進(jìn)度條動(dòng)畫(huà),高仿QQ音樂(lè)哦。自己把circleSleder改造后就成進(jìn)度條了。

  • 3.旋轉(zhuǎn)封面還有個(gè)彈性動(dòng)畫(huà),界面切換時(shí)展現(xiàn)。duration比較短,不太明顯。

  • 4.往下就是按鈕btn的動(dòng)畫(huà),搖晃和放大。當(dāng)然也在界面切換時(shí)還有個(gè)彈性動(dòng)畫(huà)。

  • 5.接著往下就是歌曲列表的動(dòng)畫(huà)。造gif時(shí)忘了拖動(dòng)列表,所以歌曲列表中cell的酷炫動(dòng)畫(huà)沒(méi)有呈現(xiàn)出來(lái)。不過(guò)這個(gè)動(dòng)畫(huà)在另一界面中滾動(dòng)tableView時(shí)呈現(xiàn)出來(lái)了。這動(dòng)畫(huà)思想源于老鎮(zhèn)。

  • 6.界面切換回來(lái)時(shí),整個(gè)歌曲列表有個(gè)3D動(dòng)畫(huà),不知道察覺(jué)到?jīng)]有。

  • 7.歌曲列表背后有個(gè)隨音樂(lè)跳動(dòng)的動(dòng)畫(huà),也就是待會(huì)重點(diǎn)記錄說(shuō)明的動(dòng)畫(huà)。

  • 8.底部有個(gè)向左滾動(dòng)的label。其實(shí)它并不是label,它是一個(gè)button。button上實(shí)現(xiàn)的動(dòng)畫(huà)哦!原創(chuàng)哦,還可以吧!界面切換回來(lái)的時(shí)候它也有個(gè)彈性動(dòng)畫(huà)。

  • 9.另一界面的頻道列表滾動(dòng)時(shí)cell的動(dòng)畫(huà)。

  • 10.其實(shí)還有一個(gè)小動(dòng)畫(huà),就是點(diǎn)擊音樂(lè)控制btn按鈕時(shí)候彈出的提示窗口。很多牛人一看就知道怎么回事。我采用的的框架是swiftNotice。不過(guò)這框架不支持純文本動(dòng)畫(huà),自己擴(kuò)展的呢,順便把frame也重寫(xiě)了下。

  • 至此已經(jīng)基本記錄完這個(gè)demo所具有的動(dòng)畫(huà)。
該好好說(shuō)說(shuō)那個(gè)隨音樂(lè)跳動(dòng)的動(dòng)畫(huà)了吧?說(shuō)好的一行代碼呢?!請(qǐng)看大屏幕。
 animation音樂(lè)波動(dòng) = GRMusicAnimation(rect: self.geQuLieBiao.frame, number: 5)
  • 夠簡(jiǎn)單的接口吧。只帶兩個(gè)參數(shù)。

rect: 是指定這個(gè)動(dòng)畫(huà)視圖的frame。
number:是指動(dòng)畫(huà)中要顯示的柱子數(shù)。

柱子數(shù)為30的時(shí)候
  • 柱子數(shù)為30的時(shí)候,是不是更有誘惑呢?

  • 當(dāng)然也有控制API,想要在什么時(shí)候啟動(dòng)就什么時(shí)候啟動(dòng),什么時(shí)候停止就什么時(shí)候停止。
    animation音樂(lè)波動(dòng).GRAnimateStart()
    animation音樂(lè)波動(dòng).GRAnimateStop()
    

這里值得一提的是我這個(gè)是屬于UIView動(dòng)畫(huà),也是連續(xù)動(dòng)畫(huà),因此在UIView動(dòng)畫(huà)的結(jié)束閉包里面是連續(xù)調(diào)用了UIView.而手動(dòng)終止動(dòng)畫(huà)layer.removeAllAnimations也會(huì)執(zhí)行結(jié)束閉包。因此在終止動(dòng)畫(huà)的時(shí)候一定要考慮到在閉包里區(qū)分到底是自動(dòng)播放動(dòng)畫(huà)完畢還是手動(dòng)終止了動(dòng)畫(huà)。不加以區(qū)分的話是無(wú)法停止動(dòng)畫(huà)的。這問(wèn)題也在前面的文章了記錄了。

這是自己第一篇在簡(jiǎn)書(shū)使用gif圖的文章 。感覺(jué)這gif造圖工具好是好用,但虛化的背景壓根渲染不來(lái)啊~下次換個(gè)git工具試試,哪位大牛有推薦嗎?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,443評(píng)論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,530評(píng)論 3 416
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,407評(píng)論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,981評(píng)論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,759評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,204評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,263評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,415評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,955評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,782評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,983評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,222評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,650評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,892評(píng)論 1 286
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,675評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,967評(píng)論 2 374

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