我对动画很新,我正试图让以下库工作:https://github.com/airbnb/lottie-ios
它需要在After Effects中创建的动画,并使用bodymovin(https://github.com/bodymovin/bodymovin)
导出为JSON我制作了一个简单的测试动画并将其导出为JSON(称为data.json)。我在Xcode中创建了一个简单的测试应用程序,添加了Lottie框架,并将data.json添加到了bundle中。我只是试图让动画在启动时显示,这是我在viewDidLoad中无法正常工作的内容:
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");
}
我得到的只是一个空白的白色屏幕。在控制台中,我可以看到添加了子视图,还有isAnimationPlaying的日志。我也可以记录jsonDict.description,我看到JSON就在那里。我做错了什么?
这是我正在使用的JSON文件:http://s000.tinyupload.com/?file_id=15724557118327374873
答案 0 :(得分:0)
我在自己的动画中看到过这样的一些问题。
首先,确保您的子视图在显示时具有有效的帧。我没有深入挖掘它,但有时我没有看到任何东西,直到我正确地将视图约束添加到动画视图。
其次,仔细检查动画以确保它不依赖图像资源,因为目前不支持。