2013-05-18 37 views
4

我一直在努力执行上一个UIView透视变换。我一直在努力从这example应用透视无变换旋转

但是,例如应用于在视图上的旋转,以及一个立体变化。有没有办法改变视图的视角而不旋转?事情可能是这样认为:

enter image description here

我一直在试图消除旋转,但是当我做了透视变换没有得到应用。我找不到任何可以改变观点的例子。提前致谢。没有任何旋转相对于您的观点

回答

7

只是增加了大卫的回答是:为了得到一个输出为你的形象,你必须绕X轴(横轴)的视图,该视图矩形的上边缘出现的“更远”,从观众比下边缘,例如

CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity; 
rotationAndPerspectiveTransform.m34 = 1.0/-200; 
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 45.0f * M_PI/180.0f, 1.0f, 0.0f, 0.0f); 
layer.transform = rotationAndPerspectiveTransform; 
+0

太好了,谢谢 – channi

+0

@martinr我应用了你的技术,我没有得到透视旋转。我有一个平坦的一个(视图似乎是相同的距离无处不在..) –

+0

@VanDuTran:嗯,这是在3D变换矩阵的部件之一:)我不知道如果我能解释得很好,并且在任何对于*评论*来说这太复杂了。你应该在互联网上找到关于它的信息。 –

0

视角将不可见。即使你没有旋转,但角度仍然得到应用,但它不会很明显。

其他一个变换表示透视沿着Z中,使视图看起来像它被缩放平移。