1

我是一名 Core Animation 初学者,试图按顺序对 3D 视图进行动画处理。但是,我遇到了第二个动画的问题。本质上,一旦视图旋转并平移到某个点,我就会进行另一次平移。

当我运行它时,它似乎在工作,但是第二个动画将视图转换到它的目的地,然后返回到它的初始位置!就好像第三个幻像动画恰好将视图返回到其初始状态。

有人可以解释为什么会发生这种情况以及我该如何解决?谢谢!

CATransform3D translation = CATransform3DMakeTranslation(0.0, -50.0, 0.0);
translation.m34 = 1.0 / -500.0f;
CATransform3D finalTransform = CATransform3DRotate(translation, 90.0f, 1.0, 0.0, 0.0);
[UIView animateWithDuration:2.0f animations:^{
    [viewImageScroll.layer setTransform:finalTransform];
} completion:^(BOOL finished) {
    CATransform3D flyAway = CATransform3DMakeTranslation(0., 0., -10000);
    [UIView animateWithDuration:3.0f animations:^{
        NSLog(@"done");
        [viewImageScroll.layer setTransform:flyAway];
    } completion:^(BOOL finished) {
        NSLog(@"done and done");
    }];
}];
4

0 回答 0