Submission Date
2026-07-14
Status
Open
Area
SwiftUI
Operating System Version
iOS 26
Type
Incorrect/Unexpected Behavior
Description
Hello,
In my app, I want a content to be always visible at the bottom of the UI such as a button or a mini player (Apple Music or Apple Podcasts).
It should be visible even if I navigate to a destination view (using a NavigationLink or updating the NavigationStack path).
If I use the safeAreaInset/safeAreaBar modifier on the NavigationStack in SwiftUI, the content insets (margins) is not automatically updated for the Views within the stack.
Expected behaviour: if I use the safeAreaInset/safeAreaBar, the Views in the NavigationStack should have their content inset (margins) updated like if the safeAreaInset/safeAreaBar is applied on the NavigationStack content directly.
Steps to reproduce: check the attached project, scroll at the bottom of the first List, notice the content is hidden below the button. Navigate to the detail view, scroll at the bottom and notice the content is hidden below the button.
Regards
import SwiftUI
struct NavigationStackSafeAreaInset: View {
var body: some View {
NavigationStack {
List {
ForEach(0...20, id: \.self) { int in
NavigationLink {
List {
ForEach(0...20, id: \.self) { int in
Text(int.formatted())
}
}
} label: {
Text(int.formatted())
}
}
}
}
.safeAreaInset(edge: .bottom) {
Button { } label: {
Text("New")
.frame(maxWidth: .infinity)
}
.buttonStyle(.borderedProminent)
.controlSize(.large)
.buttonBorderShape(.capsule)
.padding()
}
}
}
#Preview {
NavigationStackSafeAreaInset()
}
Keywords
No response
Prerequisites
Submission Date
2026-07-14
Status
Open
Area
SwiftUI
Operating System Version
iOS 26
Type
Incorrect/Unexpected Behavior
Description
Hello,
In my app, I want a content to be always visible at the bottom of the UI such as a button or a mini player (Apple Music or Apple Podcasts).
It should be visible even if I navigate to a destination view (using a NavigationLink or updating the NavigationStack path).
If I use the safeAreaInset/safeAreaBar modifier on the NavigationStack in SwiftUI, the content insets (margins) is not automatically updated for the Views within the stack.
Expected behaviour: if I use the safeAreaInset/safeAreaBar, the Views in the NavigationStack should have their content inset (margins) updated like if the safeAreaInset/safeAreaBar is applied on the NavigationStack content directly.
Steps to reproduce: check the attached project, scroll at the bottom of the first List, notice the content is hidden below the button. Navigate to the detail view, scroll at the bottom and notice the content is hidden below the button.
Regards
Keywords
No response
Prerequisites
FB<number>: <title>