我有一个我需要翻译,旋转和翻译的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);
与第一个相同,区别在于tz现在是-1而不是0.使用它,实际移动了图层。然后将翻译和旋转工作,然后翻译工作,使用tz 0。
所以我想知道的是,为什么第一个翻译不起作用?