gpt4 book ai didi

core-animation - 如何获得转换后的 CALayer 的实际大小?

转载 作者:行者123 更新时间:2023-12-04 10:57:26 25 4
gpt4 key购买 nike

我有一个 200x200 pixel CALayer我应用了两个转换的实例:

  • 缩小到 50%
  • 应用了 3D 透视图

  • 现在我想将转换后的图层与另一图层对齐。为此,我需要转换层的大小(宽度和高度)。
    问题是 layer.bounds仍然返回 200x200对于图层,但由于透视变换,实际可见宽度较小,高度大于 200 .表示层的边界返回 0 , 顺便一提。
    有什么方法可以确定转换后 CALayer 的确切大小吗?和屏幕上画的一模一样吗?

    最佳答案

    终于弄明白了:bounds应用变换时保持不变,但改变的是图层的 frame属性(property)。

    解决方法是使用 layer.frame.size而不是 layer.bounds.size .

    这在核心动画编程指南中提到:

    Layers have an implicit frame that is a function of the position, bounds, anchorPoint, and transform properties.

    关于core-animation - 如何获得转换后的 CALayer 的实际大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5537586/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com