CATransform3D围绕所有轴

时间:2013-03-23 20:43:24

标签: ios uiview core-animation

我正在尝试创建一种“翻转”动画,将UIView围绕每个轴旋转180度,但是,我无法获得所需的效果。这是我到目前为止所得到的:

[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{     
        CATransform3D tX= CATransform3DIdentity;
        tX.m34 = 1.0 / -500;
        CATransform3D tY= CATransform3DIdentity;
        tY.m34 = 1.0 / -500;
        CATransform3D tZ= CATransform3DIdentity;
        tZ.m34 = 1.0 / -500;

        tX = CATransform3DRotate(tX, M_PI, 1.0f, 0.0f, 0.0f);
        tY = CATransform3DRotate(tY, M_PI, 0.0f, 1.0f, 0.0f);
        tZ = CATransform3DRotate(tZ, M_PI, 0.0f, 0.0f, 1.0f);

        self.flipView.layer.transform = CATransform3DConcat(tX, CATransform3DConcat(tY, tZ));            
    }
然而,这似乎没有执行任何动画,就好像他们正在取消彼此。看起来这应该是一个非常简单的任务,但我似乎无法弄清楚如何结合这3个动画条件中的每一个。任何帮助非常感谢!感谢

1 个答案:

答案 0 :(得分:0)

围绕三个轴中的每个轴旋转半圈(180°或π弧度)总的来说,没有变化(三个旋转变换的串联导致了身份变换)。

尝试仅围绕一个轴旋转,看看它是做什么的。