Black screen in UITabBarController when resizing app in Split View mode

Originator:imgx64
Number:rdar://25720839 Date Originated:2016-04-14
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 9.3.1 (13E238), Xcode 7.3 (7D175)
Classification:2 - Important Reproducible:Always
 
Summary:
When a UINavigationController is the seventh item in a UITabBarController with 9 or more tabs, then the app window is resized to smaller size with Split View, then returned to the original size, the UINavigationController shows a black rectangle instead of showing its Root View Controller.

Steps to Reproduce:
1- Open Xcode and create a new iOS "Tabbed Application"
2- Open Main.storyboard
3- Add a UINavigationController to the storyboard
4- ctrl-drag from the UITabBarController to the new UINavigationController and select Relationship Segue -> view controllers
5- Do steps 3 and 4 for seven times until you have a total of 9 items in the UITabBarController tab bar (2 views added automatically, and 7 added manually)
6- Name the items First, Second, Third, ..., Ninth (for easier demonstration of the bug)
7- Run the app on an iPad that supports Split View multitasking such as iPad Mini 4
8- Tap "Seventh" item on the tab bar to select it
9- Run another app in Split View mode (not Slide Over mode)
10- If the iPad is in landscape, drag the Split View vertical divider to the middle of the screen to make the demo app smaller
11- Drag the Split View vertical divider back to the right side of the screen to close Split View mode
12- You'll notice the screen shows a black rectangle instead of the "Seventh" Root View Controller.

Expected Results:
The UINavigationController should show the same contents as it was before the app was resized

Actual Results:
The UINavigationController shows a black rectangle instead

Version:
iOS 9.3.1 (13E238), Xcode 7.3 (7D175)

Notes:
My analysis of the bug:

1- When the app window becomes smaller, the Seventh UINavigationController gets removed from the UITabBarController  and gets attached to the "More" ViewController
2- When the app window becomes big again, the Seventh UINavigationController gets removed from the "More" ViewController and is returned to be a direct child of UITabBarController
3- However, the Root View Controller of the Seventh UINavigationController remains attached to the "More" ViewController and doesn't return to the UITabBarController along with its parent UINavigationController 

Configuration:
iPad Mini 4

Attachments:
'demo.zip' and 'IMG_0006.jpg' were successfully uploaded.

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!