【发布时间】:2011-01-27 02:59:12
【问题描述】:
我已经在 Objective-c 中工作了一段时间,但我还没有真正需要(直到现在)更深入地研究核心动画和图形操作。
我目前有四个 UIImageView,我想将它们动画化到一个位置,使它们看起来像是躺在平坦的表面上。我的意思是,它们会以矩形开始——在屏幕上不失真且平坦,但会动画成倾斜的透视图,使其看起来像是坐在平坦的表面上。
我相信 CATransform3D 是我需要做的,并且已经阅读了许多文档,这些文档都指向使用 .m34 来创建正确的视角。我似乎无法让它工作。下面是我用来尝试使图像倾斜的代码的 sn-p。当我使用下面的代码尝试倾斜图像时,它似乎将其切断而不是显示正确的视角。
CATransform3D transform = CATransform3DIdentity;
transform.m34 = -1.0f / 700.0f;
// Perform other transforms
transform = CATransform3DRotate( transform,
degreesToRadians(45.0f), 0.0f, 1.0f, 0.0f);
[layer setTransform:transform];
我可以很好地处理动画,但无法使最终图像倾斜以使其看起来正确。有人对如何实现这一目标有任何建议或示例吗?
【问题讨论】:
标签: iphone core-animation quartz-graphics