gpt4 book ai didi

ios - 如何在应用 CATransform3D 后查找 UIView 的 X、Y 和旋转值

转载 作者:行者123 更新时间:2023-11-28 15:21:29 24 4
gpt4 key购买 nike

我的屏幕上有一个 UIView。我正在根据用户使用点击和旋转手势的点击移动将 layer.transform 应用到具有平移和旋转的 View 。最后我想通过旋转分别检索最终的 x 和 y 位置。无法在此处找到任何此类帖子以从转换中获取这些信息。有人可以帮忙吗?

这是我用来应用转换的代码。

var transform = CATransform3DIdentity
transform = CATransform3DTranslate(transform, displacementX, displacementY, 1.0)
transform = CATransform3DRotate(transform, gesture.rotation, 0, 0, 1.0)

self.currentItem.imageView.layer.transform = transform

最佳答案

请引用以下代码,

对于应用转换,

let degrees = 90.0
let radians = CGFloat(degrees * Double.pi / 180)
sampleView.layer.transform = CATransform3DMakeRotation(radians, 0.0, 0.0, 1.0)

变换后获取旋转角度,

let radiansFromSampleView = atan2(sampleView.transform.b, sampleView.transform.a)
let DegreesFromRadiansOFSampleView = CGFloat(180 * Double(radiansFromSampleView) / Double.pi)

对于 x 和 y 位置,即使在转换之后,您也可以直接从 View 的框架中获取。

希望这对您有所帮助。

关于ios - 如何在应用 CATransform3D 后查找 UIView 的 X、Y 和旋转值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45917638/

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