Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用CATTransferM3dMakeRotation?_Ios_Core Animation_Catransform3d - Fatal编程技术网

Ios 如何使用CATTransferM3dMakeRotation?

Ios 如何使用CATTransferM3dMakeRotation?,ios,core-animation,catransform3d,Ios,Core Animation,Catransform3d,我不知道如何使用CATTransferM3DMakeRotation()。有人能告诉我怎么用吗 我认为第一个参数是角度,对吗?但是其他三个是什么呢?它们表示要绕其旋转的轴。使用0,0,1在屏幕平面内旋转。第一个参数是以弧度表示的角度,其他三个参数是轴(x、y、z)。 例如,如果要绕z轴旋转180度,只需调用如下函数: myView.layer.transform = CATransform3DMakeRotation(M_PI, 0.0, 0.0, 1.0); 并将结果应用于要旋转的视图的变换

我不知道如何使用
CATTransferM3DMakeRotation()
。有人能告诉我怎么用吗


我认为第一个参数是角度,对吗?但是其他三个是什么呢?

它们表示要绕其旋转的轴。使用0,0,1在屏幕平面内旋转。

第一个参数是以弧度表示的角度,其他三个参数是轴(x、y、z)。 例如,如果要绕z轴旋转180度,只需调用如下函数:

myView.layer.transform = CATransform3DMakeRotation(M_PI, 0.0, 0.0, 1.0);

并将结果应用于要旋转的视图的变换属性。

在使用弧度时,您可能会发现这些属性很有用:

CGFloat DegreesToRadians(CGFloat degrees)
{
  return degrees * M_PI / 180;
};

CGFloat RadiansToDegrees(CGFloat radians)
{
  return radians * 180 / M_PI;
};

关于函数的定义,请参见核心动画函数参考:基本上,我只需设置角度,然后在要使用的x、y或z上放置1.0?它总是1.0吗?@Dan-不,轴不总是1.0。X、Y和Z组件定义了旋转发生的轴。将组件设置为1.0,将另一个设置为0.0,可定义绕X、Y或Z轴旋转,但可以绕任意方向旋转。这使您能够以真正的三维方式操纵视图和图层。