我有应用转换的UIView。我试图了解如何获取旋转的UIView,并将其应用于CALayer。如果我要打印UIView变换,就会得到以下结果:
CGAffineTransform(a: 0.977750351365919, b: -0.209771900891948, c: 0.209771900891948, d: 0.977750351365919, tx: 0.0, ty: 0.0)不过,我不明白如何应用旋转转换CALayer。
layer.transform期待得到CATransform3D。
发布于 2016-02-15 16:48:10
你期望发生的事情确实发生了。我运行了这个代码:
self.v.transform = CGAffineTransformMakeRotation(0.5)稍后,这段代码:
let t = self.v.layer.transform
print(t)它打印了以下内容:
CATransform3D(m11: 0.877582561890373, m12: 0.479425538604203, m13: 0.0, m14: 0.0, m21: -0.479425538604203, m22: 0.877582561890373, m23: 0.0, m24: 0.0, m31: 0.0, m32: 0.0, m33: 1.0, m34: 0.0, m41: 0.0, m42: 0.0, m43: 0.0, m44: 1.0)
这确实是最初应用于视图的仿射变换的CATransform3D形式。如果需要,现在可以将同样的转换应用到其他层。
还请注意,在要应用于该层的转换是仿射转换的特殊情况下,您可以将其直接应用于仿射转换(使用setAffineTransform:方法)。因此,实际上不需要获取视图层的transform;您可以将视图的仿射转换直接应用到另一层。
https://stackoverflow.com/questions/35414289
复制相似问题