Ultimate EDIT
(Instead of having too long a question with the changes making the final editing to clarify, see other changes if necessary).
Controller setup
I have an application that is configured as follows:
InitialViewController (subclass of ECSlidingViewController )
Main navigation controller (subclass of UINavigationController )
Main Home View Controller (subclass of UIViewController )
In the viewDidLoad element, I load the main navigation controller with the Home View controller as its root.
self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainNavVC"];
Problem
When you first load the application, the status bar and navigation bar are separated. 
This is the desired effect.
However, then I load the modal view controller and close it using standard methods:
[self performSegueWithIdentifier:@"LoadSelectOpponentVC" sender:self];
Then close:
[self dismissViewControllerAnimated:YES completion:nil];
This, in turn, leads to the fact that the main navigation controller (while holding the home view controller) incorrectly displays the status bar and overlaps:

Testing
- The plist setting is set to YES -
View controller-based status bar appearance - I tried setting
edgesForExtendedLayout to the corresponding none, but no change.
entrance
I tried to output some frames to see where the problem occurred:
On first boot:
Main Nav VC - View Frame - {{0, 0}, {320, 480}}
Main Nav VC - Nav Bar Frame - {{0, 0}, {320, 44}} Initial VC - View Frame - {{0, 0}, {320, 480}} Home VC - View Frame - {{0, 0}, {320, 480}} -- viewDidLoad Home VC Home VC - View Frame - {{0, 64}, {320, 416}} -- viewWillAppear Home VC --- After Modal is opened/closed ---- Home VC - View Frame - {{0, 64}, {320, 416}} -- viewWillAppear Home VC Main Nav VC - View Frame - {{0, 0}, {320, 480}} -- viewWillAppear Main Nav Main Nav VC - Nav Bar Frame - {{0, 20}, {320, 44}} -- viewWillAppear Main Nav Home VC - View Frame - {{0, 44}, {320, 436}} -- viewDidAppear Home VC