iPhone Duo Developer Hub · Blog

Raise the Bar: Vertical Bars on iPhone Duo

Apple Developer session · 15m · Watch on YouTube ↗

Raise the Bar: Vertical Bars on iPhone Duo

Source: Raise the bar with iPhone Duo (Apple Developer) · 15 min

By Anna (UI Frameworks) and Maria (HID).

On iPhone Duo, bars move to the side. The whole premise of the device: the wide display has plenty of horizontal space but precious vertical space, so controls that used to sit top-and-bottom now live in a vertical column on the edge — where they're also thumb-reachable.

One sentence summary from Apple: it's the same components, just adapted to a different layout. This session is the field guide to getting them right.

Opt in: it's mostly automatic

  1. Rebuild against the latest SDKs.
  2. Use bars from navigation containers — toolbar paired with a NavigationStack/NavigationSplitView (SwiftUI) or a UINavigationController/UITabBarController (UIKit). Don't build custom toolbars — items in a hand-rolled UIToolbar, UINavigationBar, or UITabBar won't be considered for the vertical layout.

When it does move, navigation bar + toolbar + tab bar content share one vertical stack (imagine rotating your bar 90°): Notes has a toolbar, Clock a tab bar, Fitness both. In split views only the detail column participates (others stay horizontal), and inspectors don't get their own bar.

Prefer symbols; let the system pick the representation

Vertical bars favor symbol-only items (fixed width, flexible height).

Manage the overflow menu

Less vertical space = items overflow more often (and when the keyboard or PiP appear). Two decisions:

  1. Tab bar vs. toolbar. Which survives compression first?

Configure per view via toolbar compression behavior.

  1. Item priority. Consolidate your app's own overflow into a single system-managed menu (ToolbarOverflowMenu in SwiftUI, additionalOverflowItems in UIKit). Keep the ellipsis (…) as your only overflow symbol. Then set visibility priority per item (high/low/custom) — items collapse bottom-to-top by default. After the individual items, items that show important status (badges) and frequently-used actions (Compose, New Note) should go to overflow last.

When vertical is optional

Most apps are good candidates, but you can disable vertical bars (toolbarVerticalBehavior / preferredVerticalBar):


Get ready

  1. Build with the latest SDKs.
  2. Audit bars → ensure they're owned by navigation containers.
  3. Update custom items to be vertically-capable (or mark them horizontal-only).
  4. Assign overflow priorities so the system adapts gracefully.

Bars on the side is the visual signature of iPhone Duo — get them right and your app looks native on day one.

From the developer of this hub
RevDog app icon
Mac app · Developer Tools
RevDog: Indie Revenue
Revenue in your menu bar. If you ship apps, RevDog keeps your RevenueCat numbers where you already look: today's revenue against yesterday and your recent average, MRR and active subscribers, and monthly progress against your own goal. Dig into purchases, renewals, trials and refunds with amounts, store commission, tax and net. Native Mac interface with light and dark appearance, revenue charts with selectable date ranges, local caching with offline fallback, optional sales notifications. Credentials stay in the macOS Keychain: no developer-operated backend, no advertising, no analytics.
Mac · macOS 14 or later · English · one-time purchase, no subscription, no in-app purchases. Requires your own RevenueCat connection; a Demo Mode works without an account. Independent product, not affiliated with or endorsed by RevenueCat, Inc.
View on the Mac App Store →
Videos · Specs · Prices · Apps

Unofficial dev hub. Not affiliated with, endorsed by, or sponsored by Apple Inc.