iphone - 应用 3d 动画查看

标签 iphone objective-c ios cocoa-touch core-animation

我在动画方面苦苦挣扎,找不到我想要的东西。我想对 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/

相关文章:

iphone - iPhone-在UILabel中显示编码的字符,例如å,ä,ö

ios - 使用 CAShapeLayer 和 UIBezierPath 剪辑屏蔽 uiview

objective-c - 使用 ARC 按需销毁对象

iOS Swift - 离线可用性

IOS:在自定义 View Controller 和 View Controller 之间传回数据

ios - 如何将所选 Collection View Cell 的图像推送到另一个 View Controller?

ios - 在 Xcode 6 中将按钮和标签放在 UIImageView 的顶部

ios - 在使用 MKMapview 导致 MB 的内存使用和使用 ARC 时,当 View 消失时它不会释放内存

objective-c - NSMutableArray addObject 不影响计数?

iOS 8.3 Storyboard侧边菜单