【发布时间】:2018-07-19 22:26:37
【问题描述】:
我正在使用 ARKit 开发一个 AR 项目。
我想在 ARKit 场景中添加一个 UIView。当我点击一个对象时,我想在对象旁边以“弹出窗口”的形式获取信息。此信息位于 UIView 中。
是否可以将此 UIView 添加到 ARKit 场景? 我将此 UIView 设置为场景,然后我该怎么办? 我可以给它一个节点,然后将它添加到 ARKit 场景中吗?如果是这样,它是如何工作的?
或者还有其他方法吗?
谢谢!
编辑:我的 SecondViewController 的代码
class InformationViewController: UIViewController {
@IBOutlet weak var secondView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
self.view = secondView
}
}
编辑 2:firstViewController 中的代码
guard let secondViewController = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as? SecondViewController else {
print ("No secondController")
return
}
let plane = SCNPlane(width: CGFloat(0.1), height: CGFloat(0.1))
plane.firstMaterial?.diffuse.contents = secondViewController.view
let node = SCNNode(geometry: plane)
我只得到飞机的白屏,而不是视图。
【问题讨论】:
-
您的意思是要在现实世界中以 3D 形式显示信息吗?或者您希望将信息与另一个视图控制器的 segue 一起显示?
-
我想把它放在现实世界中的 3D 中。
-
正如 Lësha 上面提到的,在 iOS 12.1.x 之前工作得非常好之后,如果你需要关闭在 SCNPlane 中呈现 UIViews 的 UIViewController,那么最终会发生什么,前三分之二您的屏幕将对触地事件无响应。今天早些时候提交了这个错误。
-
@TeodorIuliuRadu 您是否同时发现了更多信息?我在 12.2 测试版中,识别器对我根本不起作用._.
标签: ios iphone swift uiview arkit