lionheart / openradar-mirror

A mirror of radars pulled from http://openradar.me/.
245 stars 17 forks source link

25720839: Black screen in UITabBarController when resizing app in Split View mode #10969

Open openradar-mirror opened 8 years ago

openradar-mirror commented 8 years ago

Description

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.

Product Version: iOS 9.3.1 (13E238), Xcode 7.3 (7D175) Created: 2016-04-14T05:36:24.183790 Originated: 2016-04-14T00:00:00 Open Radar Link: http://www.openradar.me/25720839

openradar-mirror commented 8 years ago

Modified: 2016-04-14T05:36:24.183970