gpt4 book ai didi

ios - ARKit:删除 ARSCNView 显示静态摄像头源而不是最顶层的 SCNView

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

我们的应用默认显示 SCNView,但允许用户进入 AR 模式,我们在 SCNView 顶部显示 ARSCNView。

显示 ARSCNView 作品:相机和虚拟对象出现。

退出 AR 模式是失败的。

屏幕上保留的不是在 ARSCNView 下方显示 SCNView,而是在移除 ARSCNView 之前的相机源静态图像。

“退出”AR 模式并删除 ARSCNView 的正确方法是什么?

self.arSceneView!.removeFromSuperview()
self.arSceneView = nil

最佳答案

所以我相信你可以成功地继续你目前的路线。你有一个 View Controller 和多个 arscnviews。另一种方法是让一个父 View Controller 和两个 subview Controller 有自己独立的 scnviews。要完成这项工作,您必须在父 View Controller 的 View 中添加和删除 scnview。但是,这最后一步似乎是您正在尝试使用您所在的单一 View Controller 路线进行的工作。如果您想继续使用一个 View Controller ,我建议为 ARSCNViews 提供一个容器,并在 ViewController 的 View 中添加和删除这些 View ,如下所示:

添加exampleViewA和移除exampleViewB时

self.view.addSubview(exampleViewA)
exampleViewB.removeFromSuperview()

反之亦然添加 exampleViewB 和 revmoing exampleViewA

self.view.addSubview(exampleViewB)
exampleViewA.removeFromSuperview()

但为了做到这一点,即在 View 之间来回移动的行为,您应该有一个容器来记住/存储您的 ARSCNView,如下所示:

var arSCNViews: [String:ARSCNView] = {
return [
"exampleViewA": exampleViewA,
"exampleViewB": exampleViewB
]()

关于ios - ARKit:删除 ARSCNView 显示静态摄像头源而不是最顶层的 SCNView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49624459/

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