【发布时间】:2016-12-12 23:29:04
【问题描述】:
尝试在 iOS 中(目前)编写一个简单的应用程序,看看效果如何。
使用 nativescript 版本 2.4.1 和 Angular2
我正在创建一组图像以放置在 AbsoluteLayout 容器中。我希望这些图像一次一张地滑入。我循环并在创建图像时还创建了一个动画集。循环完成后,我会按顺序播放动画,但承诺会在动画完成之前解决。我希望承诺在所有动画完成后解决,但事实并非如此。我需要在动画集完成后做一些事情。我正在做类似的事情
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”将在动画完成之前很久就被记录下来。我错过了什么吗?此外,如果您在动画承诺的 then 处理程序中检查动画的 isPlaying 属性,即使动画仍在播放,它也是错误的
【问题讨论】:
标签: nativescript angular2-nativescript