Macos 零tz的CATTransferM3DTTranslate未实际发生?

Macos 零tz的CATTransferM3DTTranslate未实际发生?,macos,core-animation,calayer,Macos,Core Animation,Calayer,我有一个CALayer,我需要翻译,旋转,和翻译回来。我试着只翻译它,作为一个测试: CATransform3D transform = CATransform3DIdentity; transform = CATransform3DTranslate(transform, boxCenter.x - layerCenter.x, boxCenter.y - layerCenter.y, 0); layer.transform = transform; 但它没有移动。然后我试着: transf

我有一个CALayer,我需要翻译,旋转,和翻译回来。我试着只翻译它,作为一个测试:

CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DTranslate(transform, boxCenter.x - layerCenter.x, boxCenter.y - layerCenter.y, 0);
layer.transform = transform;
但它没有移动。然后我试着:

transform = CATransform3DRotate(transform, -angle, .0, .0, 1.0);
transform = CATransform3DTranslate(transform, boxCenter.x - layerCenter.x, boxCenter.y - layerCenter.y, -1);
这很有效。于是我试着:

transform = CATransform3DRotate(transform, -angle, .0, .0, 1.0);
transform = CATransform3DTranslate(transform, boxCenter.x - layerCenter.x, boxCenter.y - layerCenter.y, -1);
这和第一个相同,不同的是tz现在是-1而不是0。使用它,层实际上移动了。然后进行平移和旋转,然后进行反向平移,tz为0

所以我想知道的是,为什么第一个翻译不起作用