Environment
iOS 26.0 (device), Xcode 26 beta 7
SwiftUI TabView using the new Tab("…", value:) API
iPhone only (aware that minimize is iPhone-only)
Issue
.tabBarMinimizeBehavior(.onScrollDown) only works reliably in my Settings tab.
In my other tabs (Dashboard / Games / Help), the tab bar does not minimize when scrolling, even though the content is scrollable.
The main difference: those tabs are wrapped in a NavigationStack(path:) with a bound NavigationPath. Settings has no path binding.
Repro (minimal)
import SwiftUI
enum TabSel: Hashable { case dashboard, games, settings }
struct Root: View {
@State private var selection: TabSel = .dashboard
// Per-tab paths
@State private var dashPath = NavigationPath()
@State private var gamesPath = NavigationPath()
var body: some View {
if #available(iOS 26, *) {
TabView(selection: $selection) {
// ❌ Does NOT minimize when scrolling
SwiftUI.Tab("Dashboard", systemImage: "square.grid.2x2.fill", value: .dashboard) {
NavigationStack(path: $dashPath) {
ScrollView {
// ...
}
}
}
// ❌ Same here
SwiftUI.Tab("Games", systemImage: "sportscourt.fill", value: .games) {
NavigationStack(path: $gamesPath) {
ScrollView {
// ...
}
}
}
// ✅ Minimizes as expected on scroll
SwiftUI.Tab("Settings", systemImage: "gear", value: .settings) {
// Note: also inside a NavigationStack, but no `path` binding
NavigationStack {
ScrollView {
// ...
}
}
}
}
.tabBarMinimizeBehavior(.onScrollDown)
}
}
}
What I tried
Removing nested stacks in child views → no change
Ensured no .tabViewStyle(.page) / PageTabViewStyle() anywhere
No toolbar(.hidden, for: .tabBar) on the tab roots
Confirmed the content is scrollable and tested on device
Expected
All tabs should minimize the tab bar on downward scroll.
Actual
Only the Settings tab (no path binding) minimizes; tabs with NavigationStack(path:) do not.
Questions
Is this a known issue with NavigationStack(path:) and .tabBarMinimizeBehavior in iOS 26 betas?
Any recommended workaround that keeps a bound NavigationPath per tab?