The important thing is that the presenting view controller’s view will always remain in the back and if your presented view controller sets a semi transparent background you will get a very stylish effect. Its strange to me that the ShowTouchesWindow code doesnt take the status bar appearance settings arent derived from whats in the ist file. First of all, if you are a beginner and have just started iOS development and are confused the way status bar and navigation bar is working, you can simply go through a blog post HERE that i found. The navigation bar image can even be extended behind the status bar. This is the status bar that hides App from all UIViewControllers. Add in ist file View controller-based status bar appearance Set it to NO. This is the status bar that hides App from LunchScreen. Add in ist fileStatus bar is initially hidden Set it to YES. Its perfect solution cause UINavigationController do handle the height of status bar in iOS 7. You can further extend this class to create crazier transitions. The status bar is now transparent and navigation bar behind it shows through. Global Hiding of Status Bar by Setting ist File. This code performs a slide-in-from-the-bottom animation mimicking the default modal animation. The actual information shown in the status bar varies depending on the device and system configuration. Flutter has an imperative routing mechanism, the Navigator widget, and a more idomatic declarative routing mechanism (which is similar to build methods as used. This presentation controller has a simple method which sets the presentation style for the view controller we want to present, it sets itself as the transitioning delegate and then performs the usual modal presentation as you would expect: - (void)presentViewController:(UIViewController *)viewController fromViewController:(UIViewController *)presentingViewController presentationAnimation:(CustomPresentationAnimation)animation The status bar appears along the upper edge of the screen and displays useful information about the device’s current state, like the time, cellular carrier, and battery level. Internally, this controller uses animation transitioning delegation, an API available starting with iOS 7. 2) Left side of XCode slect project > Targets > Select your project > Under General > Deployment Info > Select Status Bar Style: Light. 1) ist add: View controller-based status bar appearance -> NO. I decided to create my own object called CustomPresentationController to handle this kind of presentation. For people looking to change status bar for all viewcontrollers on: iOS 11, Swfit 4 solution is pretty easy.