首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将UIView变换转换为CALayer

问将UIView变换转换为CALayer
EN

Stack Overflow用户
提问于 2016-02-15 16:26:21
回答 1查看 743关注 0票数 0

我有应用转换的UIView。我试图了解如何获取旋转的UIView,并将其应用于CALayer。如果我要打印UIView变换,就会得到以下结果:

代码语言:javascript
复制
CGAffineTransform(a: 0.977750351365919, b: -0.209771900891948, c: 0.209771900891948, d: 0.977750351365919, tx: 0.0, ty: 0.0)

不过,我不明白如何应用旋转转换CALayer。

代码语言:javascript
复制
layer.transform

期待得到CATransform3D。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-15 16:48:10

你期望发生的事情确实发生了。我运行了这个代码:

代码语言:javascript
复制
self.v.transform = CGAffineTransformMakeRotation(0.5)

稍后,这段代码:

代码语言:javascript
复制
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;您可以将视图的仿射转换直接应用到另一层。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35414289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档