【问题标题】:Xcode SceneKit Unable to Change SCNView FrameXcode SceneKit 无法更改 SCNView 帧
【发布时间】:2021-04-13 19:15:20
【问题描述】:

我想在运行时的某个时间点更改 SCNView 的框架。我将 SCNView 初始化如下:

var sceneView: SCNView!

sceneView = SCNView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height))
let scene = SCNScene(named: "...")!
sceneView.scene = scene
sceneView.delegate = self
view.addSubview(sceneView)

但是,我无法通过以下方式更改其框架:

sceneView = SCNView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))

sceneView 只是保持相同的大小和位置。

【问题讨论】:

    标签: ios swift xcode scenekit


    【解决方案1】:

    Apple 提供的答案:

    创建视图并添加另一个视图的子视图后,更改sceneView 实例变量不会更改视图层次结构。如果实例化旧视图,则应删除新视图并将新视图添加到父视图。请注意,更改框架不需要实例化视图的新实例(这实际上非常昂贵且效率低下)。视图的frame 属性是可变的。另请注意,其中可能涉及自动布局和其他技术。

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 2019-06-25
      • 2017-05-12
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 2021-08-15
      • 2021-08-17
      相关资源
      最近更新 更多