CATransform3DMakeRotation和shadow

时间:2010-12-03 15:42:04

标签: ios calayer catransform3d

我正在创建翻转动画库。

用两个词来说,我创建了CALayer并使用CoreAnimation的CATransform3DMakeRotation旋转它。

问题是 - 是否有办法为该场景添加阴影?不用OpenGL重写整个代码:)

2 个答案:

答案 0 :(得分:0)

看看CAGradientLayer。我目前正在使用它在类似的情况下添加阴影。可能性价比很高(仍需要检查),但看起来很有说服力。

CAGradientLayer作为子图层添加到图层,并为其opacity设置动画。您可能需要使用渐变色块和颜色来玩一下才能使它们正确。

答案 1 :(得分:0)

我不确定OpenGL,但您检查了CATransform3D

添加

#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)

在.pch文件中

CATransform3D myTransform = CATransform3DIdentity;
myTransform.m34 = 1.0 / -500;
myTransform = CATransform3DRotate(myTransform, DEGREES_TO_RADIANS(90), 0.0f, 0.0f, 1.0f);
myView.layer.transform = myTransform;

你可以在这里改变角度DEGREES_TO_RADIANS(90)

您可以在此处向myView添加阴影。