如何正确设置 SCNView 高度的动画?

Pav*_*kou 3 animation uikit ios scenekit swift

我正在尝试对 SCNView 高度进行动画处理,但似乎存在一些视觉问题。

当内容增长时,看起来一切都很好,但是当我尝试降低高度时,视图会立即跳到最终高度。

let newHeight = scene.frame.height + (open ? 100.0 : -100.0)
UIView.animate(withDuration: 1.0, animations: {
    self.scene.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: newHeight)
}) { finished in
    self.open = !self.open
}
Run Code Online (Sandbox Code Playgroud)

请参阅 在模拟器中运行的代码

通过常规视图,一切正常。

RJ1*_*168 6

将 设定contentModeSCNView需要.scaleToFill的位置(例如,在 中viewDidLoad)。它按预期工作。

let view: SCNView 
...
view.contentMode = .scaleToFill
Run Code Online (Sandbox Code Playgroud)