gpt4 book ai didi

ios - 需要一种反向 CATransform3d

转载 作者:行者123 更新时间:2023-11-29 10:28:49 25 4
gpt4 key购买 nike

我有两个 View (一个在另一个 View 中)。

super View 是“全屏”的(这意味着它有 frame == screenBoundslayer.transform = CATransform3DIdentity)。所以它看起来像一个矩形。

subview 具有相同的框架,但也有定义的变换,其中包含平移、旋转、缩放和透视。所以它看起来像一个梯形。

此外,在我的例子中,父帧和子帧不相交。所以父 View 看起来像一个矩形,而 subview 看起来像一个梯形。

我应该对这两个 View 应用哪一个复杂的转换以使 subview “全屏”? (在此转换之后,父 View 将变为梯形,反之亦然)

如果你更清楚的话,我的意思是这个转换:

http://www.youtube.com/watch?v=bjPQG43c_pE&t=1m00s

当您从 safari 页面 3D 列表中选择一个时会发生。

最佳答案

假设你的内部 View 的变换矩阵只包含仿射变换(即平移、旋转、缩放、反射、剪切)你需要做的就是反转您的内部 View 的转换矩阵以将其转换为外部 View 的边界,假设其框架与外部 View 的框架相同。

CATransform3D innerViewTransform = innerView.layer.transform;
outerView.layer.transform = CATransform3DInvert(innerViewTransform);

注意: 转换应用于 -anchorPoint 属性。仅供引用。

关于ios - 需要一种反向 CATransform3d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30735487/

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