Airbnb 開源項目:lottie-iosios
如上圖所示,lottie 能快速的讓你的APP動起來!git
你須要一名會使用 After Effects 的動效設計師(通常公司都配備),而你最終動畫的效果也就要看設計師的功力了。設計師調整好動畫後用一款插件叫作 Bodymovin 的 After Effects 插件導出描述了動畫的一些關鍵點的信息(座標,顏色)以及運動軌跡的 json 動畫描述文件。有了這個 json文件,lottie就能幫你簡單快速的集成動畫了。
json文件內容長這樣 :github
{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":1,"nm":"N7","parent":2,"ks":{"o":{"k":0},"r":{"k":0},"p":{"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":215,"s":[164.77,73.598,0],"e":[164.77,72.723,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":221,"s":[164.77,72.723,0],"e":[164.77,73.598,0],"to":[0,0,0],"ti":[0,0,0]},{"t":227}]},"a":{"k":[60,60,0]},"s":{"k":[100,100,100]}},"ao":0,"sw":120,"sh":120,"sc":"#ffffff","ip":199,"op":378,"st":-29,"bm":0,"sr":1},...}
iOS工程代碼:json
//URL json文件 //LAAnimationView *lottieView = [[LAAnimationView alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://...."]]; //本地json文件 LAAnimationView *lottieView = [LAAnimationView animationNamed:@"Lottie-json"]; lottieView.contentMode = UIViewContentModeScaleAspectFill; [self.view addSubview:lottieView];
值得一提的是 lottie 仍是支持轉場動畫,更多使用方式去參考官方demo吧。佈局