应用3D动画进行查看

Luk*_*kas 0 iphone cocoa-touch core-animation objective-c ios

我正在与动画挣扎,找不到我想要的东西.我想对视图应用3d旋转.像立方体旋转一样,视图应该有两个图像,并且像iphone通知动画一样从一个图像旋转到另一个图像.我想要的动画就像这样:http://www.youtube.com/watch?v = pBgVbzBJqDc

我甚至不认为如何做到这一点,所以任何帮助将非常感激!

提前致谢!

Dav*_*ist 7

您可以通过在视图图层上使用变换设置CATransform3D来将3D动画应用于视图.旋转看起来非常平坦,没有任何透视,因此您应该为变换矩阵的第三行和第四列设置适当的值.

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;
Run Code Online (Sandbox Code Playgroud)

迅速:

var rotation = CATransform3DMakeRotation(CGFloat(M_PI), 1.0, 0.0, 0.0);
rotation.m34 = CGFloat(-1.0/500.0)
firstView.layer.transform = rotation;
Run Code Online (Sandbox Code Playgroud)

您可以为两个视图指定角度的合适值,并将它们放置在屏幕上的位置.

为了使其看起来像立方体旋转,您还可以在旋转变换矩阵之前将多维数据集侧宽度的一半(即,它不围绕中心旋转)转换为图层.

rotation = CATransform3DTranslate(rotation, 0.0, 0.0, sideOfCube/2.0);
Run Code Online (Sandbox Code Playgroud)