資料介紹
軟件簡(jiǎn)介
ThinkVerb
ThinkVerb 是一組基于 CoreAnimation 的 API,相比與直接使用 CoreAnimation,ThinkVerb 通過鏈?zhǔn)秸Z法進(jìn)行編程,并且自管理 CAAnimation,你無需自己手動(dòng)創(chuàng)建任何 CAAnimation 并將其添加到視圖上。
得益于此,ThinkVerb 可以用非常少的代碼快速生成基礎(chǔ)動(dòng)畫,不單單如此,你說寫的代碼還相當(dāng)可讀而易于維護(hù)。
目前 ThinkVerb 的功能幾乎涵蓋了所有的基礎(chǔ)動(dòng)畫,你可以輕松多個(gè)基礎(chǔ)動(dòng)畫的組合來生成一個(gè)復(fù)雜的動(dòng)畫。如果用原生代碼,你可能需要大量代碼來完成此工作,但是用 ThinkVerb,你則可以在短短幾行代碼里完成相同的工作量。
Usage
ThinkVerb 很簡(jiǎn)單,它只有一個(gè)入口,那就是ThinkVerb擴(kuò)展 UIView 的一個(gè)屬性:TVAnimation。
TVAnimation 管理所有的動(dòng)畫單元,我們稱動(dòng)畫單元為 Sprite,你需要做的只有:通過 TVAnimation 創(chuàng)建 sprite,配置 sprite,最后 activate sprite。 這樣,動(dòng)畫就被激活,UIView 將自動(dòng)開始動(dòng)畫。
例如,如果你想永不停息地旋轉(zhuǎn)你的 UIView,你只需要下面這一句代碼:
NSString?*rotation?=?view.TVAnimation.rotate.z.endAngle(M_PI?*?2).repeat(-1).activate();
或者,如果你想為你創(chuàng)建的 sprite 定義你自己想要的名字,你可以這么寫:
view.TVAnimation.rotate.z.endAngle(M_PI?*?2).repeat(-1).activateAs(@"rotation");
這行代碼會(huì)繞著 z 軸旋轉(zhuǎn)你的 UIView,其旋轉(zhuǎn)角度是從 UIView 當(dāng)前的角度旋轉(zhuǎn)到 M_PI * 2,假設(shè)當(dāng)前角度是 0,那就是轉(zhuǎn)一圈。repeat(-1)
?能夠讓 sprite 無限重復(fù)。最后,調(diào)用?activate()
?就等于激活了該動(dòng)畫。
通常情況下,如果你沒有讓 sprite 永遠(yuǎn)重復(fù)下去,或者沒有讓 sprite 在動(dòng)畫結(jié)束時(shí)停留,sprite 會(huì)自動(dòng)被移除并釋放,而如上面的例子,你需要手動(dòng)移除該動(dòng)畫:
view.TVAnimation.clear();
上面一行代碼移除 view 的所有動(dòng)畫,通常情況下,你調(diào)用這一行代碼就夠了,如果你不想對(duì) view 的其他動(dòng)畫造成影響,你可以只移除相應(yīng)的動(dòng)畫:
view.TVAnimation.existSprite(rotation).stop();
如果你自己定義了名字,你可以這么做:
view.TVAnimation.existSprite(@"rotation").stop();
這樣,旋轉(zhuǎn)會(huì)停止,sprite 會(huì)被移除并釋放,否則,就算 view 釋放掉了,sprite 也不會(huì)被釋放,從而造成內(nèi)存泄漏。
你可以通過 ThinkVerbDemo 看到更多的例子。
ThinkVerb 做復(fù)雜動(dòng)畫也是相當(dāng)輕松的,你甚至可以寫出一把手槍來:
view.TVAnimation.appearance.duration(3).timing(TVTiming.extremeEaseOut).end(); view.TVAnimation.contents.drawRange(nil,[UIImage?imageNamed:@"1"]).didStop(^{ ????view.TVAnimation.contents.drawRange([UIImage?imageNamed:@"1"],[UIImage?imageNamed:@"2"]).didStop(^{ ????????view.TVAnimation.contents.drawRange([UIImage?imageNamed:@"2"],[UIImage?imageNamed:@"3"]).didStop(^{ ????????????view.TVAnimation.contents.drawRange([UIImage?imageNamed:@"3"],[UIImage?imageNamed:@"2"]).activate(); ????????}).activate(); ????}).activate(); }).activate();
Installation
Using cocoapods
pod?'ThinkVerb'
Copy files
拷貝子 ThinkVerb 文件夾下的所有源碼到你的工程
Indexes
-
Basic
-
move?
從某個(gè)點(diǎn)移動(dòng) view 到另一個(gè)點(diǎn)
-
scale?
將 view 縮放到某個(gè)倍數(shù)
-
rotate?
圍繞 x/y/z 軸旋轉(zhuǎn) view
-
shadow?
對(duì) shadow 的 offset/opacity/radius/color 做動(dòng)畫,
-
bounds?
對(duì) view 的 bounds 做動(dòng)畫,注意該動(dòng)畫效果取決于 anchorPoint
-
anchor?
對(duì) view 的 anchorPoint 做動(dòng)畫,單獨(dú)進(jìn)行不會(huì)有任何效果,需要和相關(guān)的動(dòng)畫組合才會(huì)有效果
-
translate?
通過偏移來移動(dòng)動(dòng)畫,基于 Transform3D,所以你可以將它應(yīng)用到 sublayer 上
-
fade?
淡入淡出
-
contents?
對(duì) cotnents 屬性做動(dòng)畫,如 rect屬性會(huì)對(duì)位圖的渲染返回做動(dòng)畫,范圍在 [0 0 1 1] 內(nèi)
-
cornerRadius?
圓角動(dòng)畫
-
border?
對(duì) view 的邊框的寬度和顏色做動(dòng)畫
-
path?
對(duì) view 做關(guān)鍵幀動(dòng)畫,可通過貝塞爾控制點(diǎn)生成曲線動(dòng)畫
-
-
Appearance
appearance sprite 可以用來對(duì)某個(gè) view 配置默認(rèn)參數(shù),如果你想讓某個(gè) view 的所有 sprite 默認(rèn)在動(dòng)畫結(jié)束時(shí)停留而不移除,你可以在生成 sprite 之前寫:
view.TVAnimation.appearance.keepAlive(YES).end();
License
ThinkVerb is released under the MIT license. See?LICENSE?for details.
- 基于STM32單片機(jī)OLED動(dòng)畫片使用庫文件設(shè)計(jì)源代碼 2次下載
- openharmony第三方組件適配移植的SVGA動(dòng)畫渲染庫 15次下載
- 定期為多個(gè)視圖連續(xù)啟動(dòng)動(dòng)畫的Sequent庫 0次下載
- 基于Visual Baisc的播放Flash動(dòng)畫實(shí)驗(yàn)
- 基于改進(jìn)模型和區(qū)域分割的表情動(dòng)畫合成方法 2次下載
- 大彩串口屏控件教程7 - 串口屏動(dòng)畫控件的應(yīng)用
- 使用Visual Baisc播放Flash動(dòng)畫實(shí)驗(yàn)的資料合集免費(fèi)下載 4次下載
- AN1246中文手冊(cè)之如何在Microchip圖形庫中創(chuàng)建控件
- Flash動(dòng)畫的應(yīng)用領(lǐng)域及Flash MX 2004動(dòng)畫入門 7次下載
- 震撼大合集-2機(jī)械原理動(dòng)畫gif_動(dòng)畫及其簡(jiǎn)述 0次下載
- 人臉表情動(dòng)畫
- 平面定點(diǎn)動(dòng)畫視頻教程
- 平面表示動(dòng)畫視頻教程
- 點(diǎn)在平面動(dòng)畫視頻教程
- 投影概念動(dòng)畫視頻教程
- 圖片動(dòng)畫控件和Video image控件的使用方法 1023次閱讀
- 【AWTK使用經(jīng)驗(yàn)】如何實(shí)現(xiàn)序列幀動(dòng)畫 460次閱讀
- 26張電路原理動(dòng)畫圖解 3474次閱讀
- Linux中的靜態(tài)庫和共享庫 1071次閱讀
- 鴻蒙上做一個(gè)loading加載動(dòng)畫 5011次閱讀
- 在QML動(dòng)畫設(shè)計(jì)中通過指定關(guān)鍵幀創(chuàng)建時(shí)間線動(dòng)畫 2173次閱讀
- 如何使用屬性動(dòng)畫實(shí)現(xiàn)簡(jiǎn)單屬性變化的動(dòng)畫效果 1455次閱讀
- 如何使用Arduino構(gòu)建一個(gè)電子動(dòng)畫眼睛 2644次閱讀
- Lottie組件提升ArkUI開發(fā)框架的動(dòng)畫能力 2044次閱讀
- 建筑工程非常詳細(xì)的15個(gè)方面臨時(shí)用電動(dòng)畫演示! 4114次閱讀
- 最全的機(jī)械動(dòng)畫原理合集免費(fèi)下載 1.6w次閱讀
- 關(guān)于AI文本生成動(dòng)畫模型的論文 4093次閱讀
- 科學(xué)家研發(fā)簡(jiǎn)化動(dòng)畫捕捉流程無人機(jī)技術(shù) 2573次閱讀
- 3D動(dòng)畫中快速的動(dòng)作捕捉,實(shí)現(xiàn)快速迭代和隨時(shí)可用的動(dòng)畫文件的概述 1.1w次閱讀
- STM32標(biāo)準(zhǔn)庫改為HAL庫的程序?qū)崿F(xiàn) 3.4w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級(jí)說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論