2016-12-10 1 views
1

iOSで簡単なアプリを作成しようとしています(今のところ)。 nativescriptバージョン2.4.1とAngular2Nativescript - アニメーションセットを作成して連続して再生する場合、アニメーションが完了する前に約束が解決されます。

私はAbsoluteLayoutコンテナに配置する画像の配列を作成していますを使用して

。これらの画像を1つずつスライドさせたいと思います。私はループし、私はアニメーションセットを作成するイメージを作成しています。ループが終了すると、私はアニメーションを順番に再生しますが、アニメーションが完了する前に約束が解決されます。私はAFTER ALLアニメーションが完了したという約束を期待していますが、そうではありません。私は、アニメーションセットが完了した後に物事をする必要があります。私は何かをしています

let absoluteArea = <AbsoluteLayout>this.page.getViewById('absoluteArea'), 
    animationSet = []; 

    for (let i = 0; i < 100; i++) { 
     let newImage = new Image(); 
     newImage.style.backgroundImage = some.jpg; 
     newImage.width = width; 
     newImage.height = height; 

     AbsoluteLayout.setLeft(newImage, leftPosition); 
     AbsoluteLayout.setTop(newImage, centerTopPosition); 

     animationSet.push({target: newImage, translate: {x: tranlatedLeftPosition, y: 0}, duration: 75 }); 

     absoluteArea.addChild(newImage); 
    } 

    animationAction = new Animation(animationSet, true); 
    animationAction.play() 
     .then(() => { 
      console.log('DONE'); 
     }) 
     .catch((err) => { 
      console.log('Animation set error', err); 
     }); 

コンソールログ 'DONE'は、アニメーションが完了するのにずっと前にログに記録されます。何か不足していますか?さらに、アニメーションの約束事のハンドラでアニメーションのisPlayingプロパティをチェックすると、アニメーションがまだ再生されていてもfalseになります

答えて

関連する問題