6

我在 UIView 中玩 CATransform3DMakeRotation,我正在尝试做一个 45º 的变换,就像它向后放置一样:

http://cl.ly/2A2p1W1e2N3a1W181r35

这是我拥有的“代码”,但显然没有这样做。

CATransform3D _tr = CATransform3DMakeRotation(3.14/4, 1, 0, 0);
view.layer.transform = _tr;

请帮助我理解参数。谢谢。

4

1 回答 1

4

基本上,您的代码是正确的,但要获得透视效果,您需要将sublayerTransformsuperview 的图层设置为如下所示:

CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = 1.0 / -850;
myView.layer.sublayerTransform = perspectiveTransform;

您可以针对不同的失真量尝试不同的值。

于 2011-07-31T05:56:46.193 回答