我是 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 穿过 View ,位于 subview 数组中。这是改造前
那是改造后的样子。
我只需要变换 imageview,而不重叠其他 View 。我该怎么做?
附言。抱歉英语不好,图片太大。
最佳答案
@Padavan,这里看起来您的 Layer 的 Z 轴相交。
试试这个:
CGFloat zOrigin = -100; // You can change this value as required.
layer.transform = CATransform3DMakeTranslation(0, 0,zOrigin);
这会将您的图层推回并且不会相交。
希望对您有所帮助。
关于iphone - View 与 CATransform3D 重叠另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671082/