我在动画方面苦苦挣扎,找不到我想要的东西。我想对 View 应用 3d 旋转。像立方体旋转一样, View 应该有两个图像,并且像 iphone 通知动画一样从一个旋转到另一个。我想要的动画就像这里的这个:http://www.youtube.com/watch?v=pBgVbzBJqDc
我什至都没有想到如何做到这一点,所以非常感谢任何帮助!
提前致谢!
最佳答案
您可以通过在 View 层上设置带有变换的 CATransform3D 将 3D 动画应用到 View 。旋转后在没有任何透视的情况下会显得很平,所以你应该为变换矩阵的第三行和第四列设置一个合适的值。
ObjC:
CATransform3D rotation = CATransform3DIdentity;
rotation.m34 = -1.0/500.0;
rotation = CATransform3DRotate(rotation, M_PI, 1.0, 0.0, 0.0);
myView.layer.transform = rotation;
swift :
var rotation = CATransform3DMakeRotation(CGFloat(M_PI), 1.0, 0.0, 0.0);
rotation.m34 = CGFloat(-1.0/500.0)
firstView.layer.transform = rotation;
您将为两个 View 提供合适的角度值,并将它们定位在屏幕上应有的位置。
要使其看起来像立方体旋转,您还可以在旋转变换矩阵之前将图层平移到立方体边宽度的一半(这样它就不会围绕中心旋转)。
rotation = CATransform3DTranslate(rotation, 0.0, 0.0, sideOfCube/2.0);
关于iphone - 应用 3d 动画查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13027649/