2017-02-10 6 views
0

私はアニメーションにかなり新たなんだ、と私は仕事に次のライブラリを取得しようとしている:https://github.com/airbnb/lottie-iosiOSの例のLottie?

それは、After Effectsで作成され、bodymovin(https://github.com/bodymovin/bodymovin)を使用してJSONとしてエクスポートされたアニメーションを取る

私は簡単なテストアニメーションを作成し、それをJSON(data.jsonという名前)としてエクスポートしました。 Xcodeで簡単なテストアプリを作ってLottieフレームワークを追加し、data.jsonをバンドルに追加しました。

NSString *myFilePath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"json"]; 

NSData *myData = [NSData dataWithContentsOfFile:myFilePath]; 

NSError *error = nil; 

NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:myData 
                 options:kNilOptions 
                  error:&error]; 

LOTAnimationView *testAnimation = [LOTAnimationView animationFromJSON:jsonDict]; 

[self.view addSubview:testAnimation]; 

[testAnimation play]; 

NSLog(@"subviews - %@", self.view.subviews); 
NSLog(@"testanim - %@", testAnimation.description); 
if (testAnimation.isAnimationPlaying) 
{ 
    NSLog(@"is playing"); 
} 

私が得るすべてが空白の画面である:私はここで働いていないこと、私がのviewDidLoadに持っているものですが、起動時に表示するアニメーションを取得しようとしています。コンソールでは、サブビューが追加され、isAnimationPlayingからログが追加されたことがわかります。私もjsonDict.descriptionを記録することができ、JSONがそこにあることがわかります。私は間違って何をしていますか?私は自分のアニメーションで見てきた、このようないくつかの問題がありますhttp://s000.tinyupload.com/?file_id=15724557118327374873

+0

'viewDidLoad'ではなく' viewDidAppear'で試してみてください – dan

+0

[testAnimation play]とviewDidAppearへのログを移動しましたが、それでも空白であるとコンソールからは再生されているようです。 – yousefnjr

+0

私はそれを理解したと思う、問題は私のdata.jsonファイルです。私はそれらのサンプルアニメーションファイルの1つを入れ替えて表示させることができます。たぶん、私はサポートされていない機能を使用していました。 – yousefnjr

答えて

0

はここで私が使用しているJSONファイルです。

まず、サブビューに表示されているフレームが有効であることを確認してください。あまりにも掘り下げてはいませんが、アニメーション表示にビューの制約を適切に追加するまでは何も表示されないことがあります。

第2に、現在サポートされていないイメージアセットに依存していないことをアニメーションで再確認します。

関連する問題