我是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会切换视图,这会在子视图数组中显示它们。那是在转型之前
那是在转型之后。
我只需要转换imageview,而不需要覆盖其他视图。我怎么能这样做?
PS。对不起英文和大图片不好。
答案 0 :(得分:2)
@Padavan,这里看起来像你的Z轴是相交的。
试试这个:
CGFloat zOrigin = -100; // You can change this value as required.
layer.transform = CATransform3DMakeTranslation(0, 0,zOrigin);
这将推回你的图层,它不会相交。
希望它有所帮助。