iOS 7: When not the root view controller, UINavigationController handles the status bar inconsistently

Originator:migrantp
Number:rdar://15615633 Date Originated:09/12/2013
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 7.0 & 7.1 beta
Classification:UI/Usability Reproducible:Always
 
Summary:
When a UINavigationController is not the root view controller, and the device is in portrait, it responds to changes in status bar visibility. The navigation bar height changes as the status bar is hidden and shown. When the device is in landscape, UINavigationController does not respond to changes in status bar visibility. The navigation bar height does not change as the status bar is hidden and shown.

Steps to Reproduce:
1. Embed a UINavigationController full size in another view controller
2. Hide/show the status bar and observe the behaviour in portrait & landscape

Expected Results:
The UINavigationController should either a) respond to changes in status bar visibility in all orientations; or b) do not respond to changes in status bar visibility in all orientations.

Actual Results:
The UINavigationController only responds to changes in status bar visibility in portrait. It does not respond in landscape.

Regression:
The problem occurs on iOS 7 and iOS 7.1 beta, on both iPad and iPhone, device and simulator.

Notes:
A sample project that reproduces the problem will be attached. It contains the simplest possible case. We discovered this problem in a more complex case, where the UINavigationController was being contained within a menu view controller, a common use case.

It's unclear whether the navigation bar should be respecting the status bar changes in this case. In the storyboard, Xcode infers that the status bar will not be shown in the navigation bar, but in fact it is.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!