Objective-c CATransform3DMakeRotation顺时针/逆时针

时间:2014-12-06 09:33:23

标签: objective-c uiview rotation catransform3d

我使用以下代码使用UIView沿 x轴旋转CATransform3DMakeRotation

  float radians = DegreesToRadians(30);
    [UIView animateWithDuration:0.15 animations:^{  
        self.moveControlView.layer.transform = CATransform3DMakeRotation(radians,1,0,0);
    }];

旋转始终以相同的方式应用(顺时针)。我想在相反的位置旋转UIView。 为了实现我的目标,我尝试过:

  • 设置负角度(-30)
  • 将角度设置为330

但是方向的对比并没有改变。

我也尝试将x = -1设置为正角度。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您应该对转换应用透视,正如in the similar question所解释的那样:

CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = 1.0 / -500;

self.moveControlView.layer.transform = 
CATransform3DRotate(perspectiveTransform, radians, 1.0f, 0.0f, 0.0f);;