On iPadOS 14, UISplitViewController embedded in UITabBarController is always collapsed

Originator:simon.liotier
Number:rdar://FB8349717 Date Originated:08/11/2020
Status:Open Resolved:
Product:UIKit Product Version:iOS 14
Classification: Reproducible:
 
Example project: https://github.com/simonliotier/FB8349717

On iPadOS 14 (beta 4), UISplitViewController embedded in UITabBarController is always collapsed, preventing to display 2 or 3 columns side by side.

1. Create a `UISplitViewController` with a `doubleColumn` or `tripleColumn` style.
2. Set its `preferredDisplayMode` to `.oneBesideSecondary` (or `.twoBesideSecondary` for the `tripleColumn` style).
3. Embed the split view controller in a `UITabBarController`.
4. Launch the app on iPad. 

- Expected behavior: both the primary and secondary view controllers should be displayed side by side (expanded interface).
- Actual behavior: only the secondary view controller is displayed in the `UITabBarController` (collapsed interface).

5. Print the split view controller `horizontalSizeClass`. 
It is `.compact`. It should be `.regular`. That is why the split view controller is collapsed instead of expanded.

This is a regression. Embedding a `UISplitViewController` in a `UITabBarController` works well on iOS 13 (and before).

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!