bugfix> ios > 投稿

UINavigationControllerを備えたメインビューコントローラーとしてUICollectionViewを備えたiOSアプリがあります。次に、ユーザーの要求に応じてARSCNViewをプッシュします。期待どおりに動作します。 Navigation Controllerの「戻る」ボタンを押すと、アプリはコレクションビューに戻りますが、アプリはコレクションビューを表示しますが、ハングしてユーザー入力を受け付けなくなります。

この状況を正しく処理するにはどうすればよいですか?今私はこれをやっています:

let view = ARViewController()
navigationController?.pushViewController(view, animated: true)

ただし、上記のように、これにより、アプリは復帰時にハングします。

回答 1 件
  • コードにこれがすでに含まれているか、それが役立つかどうかはわかりませんが、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にアクセスすることはできませんが、提案としてこれを提供すると思いました。

あなたの答え