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になります