我有一个带有UICollectionView的iOS应用程序作为带有UINavigationController的主视图控制器。然后我根据用户请求推送ARSCNView。它按预期工作。当我点击导航控制器中的“返回”按钮时,应用程序返回到集合视图,应用程序显示集合视图,但挂起并且不再接受用户输入。
我如何正确处理这种情况?现在我正在这样做:
let view = ARViewController()
navigationController?.pushViewController(view, animated: true)
但如上所述,这会导致应用在返回时挂起。
答案 0 :(得分:0)
我不确定您的代码中是否已经有此功能,或者是否有帮助,但是您是否像这样在viewWillDisappearMethod中暂停了ARKitSceneView上的ARKitSession?
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Pause the view's AR session.
sceneView.session.pause()
}
如果要执行此操作,则还应该将ARKitScene设置代码也移到View Controller的viewWillAppear方法中。不幸的是,我无法使用Mac进行测试,但我想建议您这样做。