我是CATransform3D的新手。我真的想用这段代码在我的UIImageView上实现3D转换效果。
CALayer *layer = imageView.layer;
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, aSlider.value, xSlider.value, ySlider.value, zSlider.value);
layer.transform = rotationAndPerspectiveTransform;我的问题是,转换后的UIImageView会遍历视图,它位于视图的子视图数组中。那是在转型之前

这是在变形之后。

我只需要转换图像视图,而不是覆盖其他视图。我该怎么做呢?
PS。对于糟糕的英语和大图片,我深表歉意。
发布于 2013-07-16 17:16:07
@Padavan,这里看起来层的Z轴是相交的。
试试这个:
CGFloat zOrigin = -100; // You can change this value as required.
layer.transform = CATransform3DMakeTranslation(0, 0,zOrigin);这会将你的图层推回去,而且它不会相交。
希望能有所帮助。
https://stackoverflow.com/questions/17671082
复制相似问题