質問: .overCurrentContext self.present(modalVC, animated: true, completion: nil) /***** ModalViewController *****/ // 画面上のボタンを押すと以下が実行され、1VCへ戻ります(通常は正しく動作します) // 一度タブを2VCに切り替えてから再びこの画面に戻り、以下のコードを実行すると、1VCが表示されなくなります self.dismiss(animated: true, completion: nil) ``` ### 試したこと UITabBarControllerのselectedViewControllerや、ModalViewControllerのpresentingViewControllerも調べてみましたが、きちんと1VCが入っているようでした。他にも、dismissのcompletionの中で1VCのloadView()やviewDidLoad()などを実行してみたり、1VC.viewのalphaを1にしてみたりしましたが、やはり後ろのkeyWindowが表示されてしまいました(keyWindowが表示されていると判断したのは、keyWindowの背景色(にしか使用していない色)が画面に表示されたためです)。 解決策をご存知の方がいらっしゃいましたら、お教え頂けますと幸いです。よろしくお願いいたします。 ### 補足情報 使用言語: Swift 3.1 開発環境: Xcode 8.3.2 動作環境: iOS 10.3.1
回答: 通常、遷移したときは、裏側にあるViewControllerは削除されます。 遷移先ViewControllerのmodalPresentationStyleを`.overFullScreen`か`.overCurrentContext`にしてみて下さい。(私自身は使ったことがなく、両者の違いなどについては把握していません)