当前 Web 视图控制器时 Sceneview 冻结
Sceneview freezes when present web view controller
我正在使用 Safari Services kit
在单击 SCNode
时显示 Web 视图。但是,当我使用 sceneView
从 safariVC
返回到我的 VC 时,即使我通过重新 运行 重新启动会话,sceneView
也会被冻结会话。
我在这个 website 上读到,显示另一个 VC 会杀死场景视图线程,我想确认一下。基本上我想知道是否可以呈现另一个 VC 并能够返回 sceneView
并“恢复” scenView
注:
- VC = ViewController
代码
我如何展示我的 safari 网站 VC
func presentWebView(){
if let url = URL(string: "https://www.amazon.com/"){
let safariVC = SFSafariViewController(url: url)
self.present(safariVC, animated: true, completion: nil)
}
}
我如何重新启动会话
if let worldSessionConfig = sessionConfig as? ARWorldTrackingSessionConfiguration {
worldSessionConfig.planeDetection = .horizontal
session.run(worldSessionConfig, options: [.resetTracking, .removeExistingAnchors])
}
当您呈现 safariVC 时使用 sceneView.session.pause()
,然后在关闭 safariVC 时使用 sceneView.session.run
重新启动会话。
我正在使用 Safari Services kit
在单击 SCNode
时显示 Web 视图。但是,当我使用 sceneView
从 safariVC
返回到我的 VC 时,即使我通过重新 运行 重新启动会话,sceneView
也会被冻结会话。
我在这个 website 上读到,显示另一个 VC 会杀死场景视图线程,我想确认一下。基本上我想知道是否可以呈现另一个 VC 并能够返回 sceneView
并“恢复” scenView
注:
- VC = ViewController
代码
我如何展示我的 safari 网站 VC
func presentWebView(){
if let url = URL(string: "https://www.amazon.com/"){
let safariVC = SFSafariViewController(url: url)
self.present(safariVC, animated: true, completion: nil)
}
}
我如何重新启动会话
if let worldSessionConfig = sessionConfig as? ARWorldTrackingSessionConfiguration {
worldSessionConfig.planeDetection = .horizontal
session.run(worldSessionConfig, options: [.resetTracking, .removeExistingAnchors])
}
当您呈现 safariVC 时使用 sceneView.session.pause()
,然后在关闭 safariVC 时使用 sceneView.session.run
重新启动会话。