Shadow under UINavigationBar when used in conjunction with UISplitViewController and UITabBarController

Originator:cyginnovations
Number:rdar://37217984 Date Originated:2/4/2018
Status:Open Resolved:No
Product:iOS + SDK Product Version:11.2.5 (15D60)
Classification:UI / Usability Reproducible:Yes
 
Summary: When a master and detail view controller both contain navigation bars, contained in a split view controller which is contained in a UITabBarController, the navigation bar and tab bar display a shadow that resides under the master view controller.


Steps to Reproduce:
1a. Set up a split view controller with a master and detail view controller. 
1b. Embed both master and detail view controllers within a navigation controller, such that both controllers have a navigation bar.
1c.  Embed split view controller within tab bar controller.
(Above storyboard configuration is included in a screenshot, and exists within the included test Xcode project).
2. Set split view controller configuration to .allVisible (not sure if this triggers the bug, but this setup does demonstrate the bug. I have not tested for other configurations).
3. Run application on device or simulator that supports showing both master and detail controller side-by-side.

(An Xcode project I used to test this with this configuration has been included, under DidYouFixIt.zip)


Expected Results:
Navigation and tab bar appearance is correct, with the standard blurred white color that is expected across iOS.


Actual Results:
Navigation and tab bar contain a darkened portion under the master view controller, which appears like a shadow, or what might be expected from a dark gray color in the content below the navigation bar.

Version/Build:
iOS 11.2.5 (15D60)

Configuration:
iPad 2017, iPhone 6/7/8 Plus Simulator (iOS 11.2 (15C107), iPad Pro 9.7 Simulator (iOS 11.2 (15C107))

Comments

This issue seems to go away on iPhone Plus if the following steps are followed: 1. Start the application. 2. Go into portrait orientation 3. Back out from the detail view controller to the master view controller, such that the visible view controller is the master view controller 4. Rotate the device back into landscape The navigation bar now renders correctly, without the shadow. I've attached screenshots to help visualize the process. Note that I tested in Simulator, as I don't own an iPhone Plus.

By cyginnovations at Feb. 5, 2018, 9:07 p.m. (reply...)

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!