# Use adaptive navigation containers instead of custom ones > NavigationSplitView, UISplitViewController, TabView and UITabBarController adapt across every iPhone Duo pose with no pose-specific code. Source: https://iphoneduosupport.com/checklist/adaptive-navigation-containers/ Severity: major Category: navigation Applies to: swiftui, uikit Symptom: A hand-rolled navigation container that has to be taught about each pose, and gets one of them wrong. Sources: https://developer.apple.com/videos/play/tech-talks/111461/ Last verified: 2026-09-09 --- Apple lists these containers as fully adaptive across all poses: - `NavigationSplitView` / `UISplitViewController` - `TabView` / `UITabBarController` Columns collapse when the device is closed, and tile or overlay when it is open. Sheets, popovers, context menus, and alerts adapt automatically too. ## Why this is worth the migration A custom navigation container written for a single-screen iPhone now has to handle: two displays with different size classes, four or more poses, Split View multitasking at arbitrary widths, and a hinge that appears and disappears. That is a large matrix to get right and to keep right. The system containers already handle it, and will handle whatever ships next. If you have been carrying a custom container for historical reasons, this is the strongest argument in years for retiring it. ```swift NavigationSplitView { SidebarView() } detail: { DetailView() } ``` ## The sidebar is the point The inner display is regular-width and Apple specifically notes it leaves **room for sidebars**. An app that already has an iPad layout can usually reuse it directly; an iPhone-only app gets a genuinely better layout for the first time here. ## Presentation still adapts You do not need to change how you present sheets, popovers, alerts, or context menus — those adapt on their own. The work is in the container, not the presentation. ## How to verify Navigate your primary flows in every pose and on both displays. Any place you have written `if folded` or `if width >` inside navigation code is a candidate for deletion. --- Published by iPhone Duo Support (https://iphoneduosupport.com). Not affiliated with Apple Inc.