私はアニメーションにかなり新たなんだ、と私は仕事に次のライブラリを取得しようとしている: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
'viewDidLoad'ではなく' viewDidAppear'で試してみてください – dan
[testAnimation play]とviewDidAppearへのログを移動しましたが、それでも空白であるとコンソールからは再生されているようです。 – yousefnjr
私はそれを理解したと思う、問題は私のdata.jsonファイルです。私はそれらのサンプルアニメーションファイルの1つを入れ替えて表示させることができます。たぶん、私はサポートされていない機能を使用していました。 – yousefnjr