2017-02-10 47 views
0

我是相當新的動畫和我試圖讓下面的圖書館工作:使用bodymovin(https://github.com/bodymovin/bodymovinLottie的iOS示例?

https://github.com/airbnb/lottie-ios

它需要被創建在After Effects和出口爲JSON動畫我做了一個簡單的測試動畫,並將其導出爲JSON(稱爲data.json)。我在Xcode中做了一個簡單的測試應用程序,添加了Lottie框架,並將data.json添加到了包中。我只是試圖讓動畫在啓動時顯示,這裏是我在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

嘗試在'viewDidAppear'而不是'viewDidLoad'中做它 – dan

+0

謝謝,移動[testAnimation玩]和日誌viewDidAppear,它仍然是空白,控制檯說它正在播放。 – yousefnjr

+0

我想我已經想通了,問題是我的data.json文件。我交換了其中一個示例動畫文件,並且能夠顯示它。也許我使用了不受支持的功能或其他功能,不知道。 – yousefnjr

回答

0

有這樣的,我在我自己的動畫已經看到了一些問題。

首先,確保您的子視圖在顯示時具有有效的框架。我沒有深入研究它,但有時我沒有看到任何東西,除非我已經正確地將視圖約束添加到動畫視圖。

其次,仔細檢查你的動畫,以確保它不依賴於圖像資源,因爲目前不支持。