SplitTabBar
A UISplitViewController combined with a UITabBarController in sync
Usage
import SplitTabBar
let splitTabBar = SplitTabBarViewController(viewControllers: [/*view controllers here*/])The navigatable view controllers are controlled via the tab bar detail view controller. You can modify them like so:
splitTabBar.setViewControllers([/*your new view controllers */])
// or
splitTabBar.detailTabBar.viewControllers = [/*your new view controllers */]If you want the UITabBarController tabs to always be present you can enable them via
splitTabBar.shouldHideTabBar = falseYou can see an example of showing both the UISplitViewController navigation and the UITabBarController tabs in the macOS screenshots above.
By default the SplitTabBarViewController will hide the UISplitViewController and just display the UITabBarController when its traitCollection horizontalSizeClass is compact. You can change this behavior using the following properties:
splitTabBar.compactPreferredDisplayMode = UISplitViewController.DisplayMode.primaryHidden
splitTabBar.regularPreferredDisplayMode = UISplitViewController.DisplayMode.automatic
