【问题标题】:ARSCNView CGAffineTransform error in Ipad PortraitIpad Portrait 中的 ARSCNView CGAffineTransform 错误
【发布时间】:2020-10-09 13:40:36
【问题描述】:

当我尝试在 iPad 上垂直翻转 ARSCNView 时,我发现了一个非常奇怪的错误,我需要做的假设是:

sceneView.transform = sceneView.transform.scaledBy(x: 1, y: -1)

应该垂直翻转 ARSCNView。 它旋转 90 度而不是翻转。奇怪的是,下面给出了相同的结果:

sceneView.transform = sceneView.transform.scaledBy(x: -1, y: 1)

缩放 X 和 Y 不应旋转视图。

这个问题发生的地方: Ipad pro 12.9 2019,iOS 14.0.1,纵向模式

我还尝试了什么: 一切都可以在 iPhone 上运行。

以下工作但不是我需要的

sceneView.transform = sceneView.transform.rotated(by: .pi)
  1. 在同一个设备上,风景可以双向工作。该错误仅在纵向或纵向倒置时发生。

有人对我的出行方式有任何想法吗?

【问题讨论】:

    标签: ios swift scenekit arkit cgaffinetransform


    【解决方案1】:

    你可能想要

    sceneView.transform = CGAffineTransform(scaleX: -1, y: 1)
    

    因为scaledBy 缩小了现有转换,可能不是.identity

    但您可能也想查看this answer

    【讨论】:

    • 这对我来说给出了相同的结果我检查它给出了相同的变换矩阵 (a=-1, b=0, c=0, d = 1) 并且由于某种原因,视图被旋转90度而不是翻转。你提到的另一篇文章很感兴趣,我会检查的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多