亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS歌詞逐漸變色動畫

2019-11-14 18:20:53
字體:
來源:轉載
供稿:網友

實現歌詞逐漸變色的動畫,像卡拉OK一樣可以根據時間進度來染色。效果如圖:
 
因項目需求要實現一個類似歌詞逐漸變色的效果,自己想來想去想不出來實現方案,還是得求助萬能的google,
最終是找到了這篇博客http://www.iwangke.me/2014/10/06/how-to-implement-a-core-animation-based-60-fps-ktv-lyrics-view/,比較完美的解決了這個問題。
這篇博客已經將實現方案及其原理講的很清楚了,只是沒有具體的demo,所以我就把自己的demo放這兒(https://github.com/Phelthas/LxmlyricsLabel),順便總結一下。
 
首先看需求:
要達到的效果是:原來的文本已經是顯示出來了,然后文本逐漸從左到右逐漸改變顏色。
難點是“逐漸改變顏色”。
 
博客中給出的解決方案是將兩個除了字體顏色其他屬性都完全一樣的label重疊放在一起,下面的是原來的字體顏色的whiteLabel,上面的是的染色后的greenLabel,然后控制greenLabel逐漸顯示出來。
(博客中提到faceBook的shimmer(https://github.com/facebook/Shimmer) 也是用同樣的實現方式)等有空了仔細研究下
 
那怎么才能控制greenLabel逐漸顯示出來呢?
這里可不是漸隱漸現,而是從左到右依次顯示出來!
所以就需要用到部分渲染,也就是利用layer的mask屬性。
@PRoperty(strong) CALayer *mask;
 
mask雖然是個layer,但它并不會顯示出來,它是用自己的alpha值來控制原layer內容渲染與否的一個layer。如果mask的alpha值為1,那原layer就會渲染出來,反之,就不會渲染出來,也就不會顯示出來,而是透明的。
 
而且因為mask是個layer,可以給mask添加CAAnimation,
所以就可以用mask的動畫來讓原layer從左到右逐漸顯示,
只需要給mask添加一個寬度從0到label寬度的動畫就行了。
如果需要控制時間,用keyFrameAnimation就可以滿足需求。
 
需要注意的是layer不能對frame做動畫,只能對position和bounds做動畫,所以要改變layer的frame,就得考慮position和bounds兩個屬性。這里我們只需要label從左到右渲染,所以可以利用下anchorPoint這個屬性,將anchorPoint設置為(0,0.5)(其默認值是(0.5,0.5)),那改變layer的bounds的時候,它就只會想右邊擴展了。
 
具體代碼在demo里,這里就不貼了。
有什么問題,歡迎討論。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情在线观看视频| 欧美激情精品久久久久| 亚洲综合日韩中文字幕v在线| www.日韩视频| 热久久免费国产视频| 日韩成人黄色av| 国产精品91久久| 韩国精品美女www爽爽爽视频| 国产精品看片资源| 亚洲xxxx视频| 欧美激情一区二区三区久久久| 亚洲福利视频网| 精品久久国产精品| 欧美性xxxx18| 欧美成人午夜免费视在线看片| 日韩中文字幕免费看| 国产精品对白刺激| 久久久久久久999| 亚洲a一级视频| 亚洲国产精品电影| 亚洲女人被黑人巨大进入| 欧美成人精品在线| 亚洲欧美日韩国产中文专区| 日韩中文字幕在线观看| 久久久久久国产精品美女| 91九色国产在线| 日韩在线中文视频| 亚洲精品在线视频| 亚洲欧美在线播放| 国产精品福利观看| 久久久久久亚洲精品中文字幕| 亚洲影院色在线观看免费| 亚洲精选在线观看| 亚洲伊人成综合成人网| 91免费在线视频网站| 欧洲永久精品大片ww免费漫画| 日韩成人网免费视频| 欧美国产日韩一区二区在线观看| 国产精品久久久久秋霞鲁丝| 国产精品一二三视频| 欧美日韩亚洲成人| 欧美成人在线网站| 国产日本欧美一区二区三区| 色悠悠久久久久| 欧美电影免费观看高清| 国产欧美日韩精品在线观看| 尤物精品国产第一福利三区| 欧美视频在线观看免费| 一本色道久久88综合亚洲精品ⅰ| 久久99视频精品| 国产91对白在线播放| 97福利一区二区| 久久人人爽人人爽人人片av高请| 欧美放荡办公室videos4k| 亚洲黄页网在线观看| xxxxxxxxx欧美| 国产在线98福利播放视频| 国产一区二区三区久久精品| 色偷偷偷综合中文字幕;dd| 欧美性理论片在线观看片免费| 欧美日韩国产综合视频在线观看中文| 欧美电影免费观看高清完整| 国产一区二区三区直播精品电影| 97超级碰碰人国产在线观看| 精品欧美国产一区二区三区| 亚州精品天堂中文字幕| 国产精品久久久久久亚洲影视| 亚洲天堂影视av| 91极品女神在线| 久久久久成人精品| 亚洲美女视频网站| 97精品国产97久久久久久免费| 欧美成aaa人片在线观看蜜臀| 成人免费视频在线观看超级碰| 日韩视频免费大全中文字幕| 欧美噜噜久久久xxx| 2019中文字幕全在线观看| 97在线观看免费高清| 欧美在线视频一区| 日韩av免费在线播放| 日韩美女免费线视频| 久久精品视频播放| 视频在线观看一区二区| 国产精品va在线播放| 色噜噜狠狠狠综合曰曰曰88av| 欧美色欧美亚洲高清在线视频| 欧美日韩亚洲系列| 揄拍成人国产精品视频| 国模吧一区二区三区| 亚洲人成网站999久久久综合| 久久免费视频观看| 久久国产精品首页| 精品久久久久久久久久久| 精品国产一区二区三区在线观看| 91麻豆国产语对白在线观看| 菠萝蜜影院一区二区免费| 懂色av影视一区二区三区| 91精品91久久久久久| 欧美激情欧美狂野欧美精品| 日韩精品亚洲元码| 成人性生交大片免费观看嘿嘿视频| 欧美精品福利视频| 精品香蕉在线观看视频一| 亚洲成色999久久网站| 国产精品999| 欧美成人精品一区二区三区| 久久久噜噜噜久久中文字免| 色综合久综合久久综合久鬼88| 欧美日韩国产成人在线观看| 日本成人精品在线| 欧美色道久久88综合亚洲精品| 国产精品丝袜久久久久久高清| 97国产精品久久| 亚洲视频在线观看免费| 国产精品亚洲激情| 日韩中文字幕在线免费观看| 久久91亚洲人成电影网站| 欧美日韩亚洲成人| 成人免费网站在线看| 91大神在线播放精品| 亚洲第一天堂无码专区| 亚洲色图欧美制服丝袜另类第一页| 美日韩精品视频免费看| 国产综合视频在线观看| 久久久久久久av| 亚洲精品美女在线| 亚洲欧美激情视频| 久久99热精品这里久久精品| 欧美精品激情视频| 欧美精品成人91久久久久久久| 欧美一级电影久久| 日韩视频精品在线| 最新国产精品亚洲| 免费91在线视频| 成人写真福利网| 亚洲国产欧美一区二区三区同亚洲| 在线观看欧美日韩国产| 亚洲欧洲xxxx| 成人精品视频久久久久| 欧美国产日韩一区二区| 国产三级精品网站| 国产最新精品视频| 九九热这里只有精品6| 中文字幕亚洲字幕| 美女久久久久久久久久久| 国产精品视频区1| 色综合天天狠天天透天天伊人| 日韩在线观看电影| 久久天天躁狠狠躁老女人| 亚洲成人激情小说| 国产精品美女www| 亚洲美女av在线| 欧美亚州一区二区三区| 国产丝袜一区二区三区免费视频| 日韩少妇与小伙激情| 国产成人一区三区| 麻豆国产精品va在线观看不卡| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品福利在线| 亚洲国产99精品国自产| 欧美激情免费看| 欧美夫妻性生活视频| 国产精品一区二区久久国产| 日韩美女免费线视频|