3

我在 iphone 中使用CALayer's. 现在我想在用户双击它时旋转那个立方体( CALayer) 。90˚

我能够将该立方体(CALayer)旋转90˚一次,但是当我双击立方体(CALayer)时,它没有旋转。

这是我用来旋转立方体的代码(CALayer

CATransform3D x = CATransform3DRotate(currentLayer.sublayerTransform, M_PI / 2, 0, 0, 1);
currentLayer.transform = x;

任何人都可以在这方面提供帮助。我做错了什么。


PS。对于那些想知道我是如何获得学位标志的人来说,这就是诀窍

Option+K

4

1 回答 1

2

这是因为您没有更改旋转角度....要理解这一点,可以说您每次都将 M_PI/2 传递给该方法....所以CATransform3DRotate不要旋转它,next 90˚而是将图层旋转到指定的角度这种情况下它是 90 ......所以你没有得到任何 chage 因为它已经在90˚......所以为了得到正确的结果这样做

static float angle = M_PI / 2;//dont make it static rather make it a global variable
angle += M_PI / 2;
CATransform3D x = CATransform3DRotate(currentLayer.sublayerTransform,angle, 0, 0, 1);
currentLayer.transform = x;
于 2011-06-08T08:20:16.617 回答