New iOS 13 Modal Presentation: Presenting Controller Doesn't Move Down New iOS 13 Modal Presentation: Presenting Controller Doesn't Move Down swift swift

New iOS 13 Modal Presentation: Presenting Controller Doesn't Move Down


Turns out the problem was my view controller hierarchy. I was able to fix it by making the presenting view controller the root view controller of my app. First I set the background controller as the root view controller by calling

window.rootViewController = self

and then using my previous code

let controller = storyboard?.instantiateViewController(withIdentifier: "tutorial") as! TutorialControllercontroller.modalPresentationStyle = .pageSheetcontroller.modalTransitionStyle = .coverVerticalpresent(controller, animated: true, completion: nil)

I presented the view controller. Thanks to everyone who tried to help!


I think the issue can be resolved by using vc.modalPresentationStyle = .fullScreen if there is not UINavigationController , otherwise you can use these codes as follows:

let navigationController = UINavigationController(rootViewController: vc) navigationController.modalPresentationStyle = .fullScreen present(vc, animated: true)

because With iOS 13 this is a new feature that Apple has changed the default presentation style of View Controllers to a modal sheet from fullscreen in iOS 12


iOS13: Let's say you have 3 view controllers: FirstVC, SecondVC, ThirdVC

FirstVC presents SecondVC with the below code:

let secondVC = SecondVC()secondVC.modalPresentationStyle = .fullScreenfirstVC.present(secondVC, animated: true, completion: nil)

SecondVC presents ThirdVC with the below code:

let thirdVC = ThirdVC()secondVC.present(thirdVC, animated: true, completion: nil)

Changing secondVC's modalPresentationStyle to .currentContext solves the problem.