I’m seeing a layout regression in SwiftUI on iPadOS 26.4 involving NavigationSplitView inside a TabView.
When a NavigationSplitView is embedded in a TabView, the sidebar toolbar appears to reserve too much vertical space.
There is a large vertical gap between the top edge of the sidebar and the sidebar collapse/toggle icon. It looks as if the sidebar toolbar itself has become much taller than expected.
The same NavigationSplitView layout is rendered correctly when it is shown directly without being embedded in a TabView.
Environment:
- iPadOS 26.4 or later
- SwiftUI
- iPad
- TabView
- NavigationSplitView inside one tab
Expected behavior
The sidebar toolbar should use its normal height, as it does when the same NavigationSplitView is shown without a surrounding TabView. The sidebar collapse/toggle icon should appear close to the top of the sidebar, without a large empty gap above it.
Actual behavior
When the NavigationSplitView is hosted inside a TabView, the sidebar toolbar area becomes excessively tall. A large empty space appears above the sidebar collapse/toggle icon. This only happens in the TabView setup. Rendering the same NavigationSplitView directly does not show the issue.
Feedback
I also filed this as Feedback Assistant report: FB22645938 Has anyone else seen this behavior since iPadOS 26.4? Is this an intentional layout change, or is there a supported way to avoid this additional top inset when using NavigationSplitView inside TabView?
Reproduction
import SwiftUI
struct ContentView: View {
enum AppTab {
case first
case second
}
@State private var selectedTab: AppTab = .first
var body: some View {
TabView(selection: $selectedTab) {
Tab("First", systemImage: "sidebar.leading", value: .first) {
NavigationSplitView {
List {
Section("Sidebar Content") {
ForEach(1...20, id: \.self) { index in
Text("Item \(index)")
}
}
}
.navigationTitle("Sidebar")
.toolbar {
ToolbarItem(placement: .topBarLeading) {
Button {
// action
} label: {
Image(systemName: "plus")
}
}
}
} detail: {
Text("Detail")
}
}
Tab("Second", systemImage: "doc", value: .second) {
Text("Second tab")
}
}
}
}
Thank you for filing this report.
It appears the Tab bar creates some space at the top of the sidebar for controls that may appear. You can see this demonstrated in Elevate your tab and sidebar experience in iPadOS
With the 27 releases, the sidebar is no longer floating, which removes the top inset and is noticeably higher now.
Test this on the latest iPadOS 27 beta and let me know how it works for you. Feel free to add to the discussion in your report.
You can also try .tabViewStyle(.sidebarAdaptable), demonstrated in that WWDC video linked above.
I hope this information is helpful.
Travis