toolbarBackgroundVisibility(_:for:)
Specifies the preferred visibility of backgrounds on a bar managed by SwiftUI.
Declaration
nonisolated func toolbarBackgroundVisibility(_ visibility: Visibility, for bars: ToolbarPlacement...) -> some View
Parameters
- visibility:
The preferred visibility of the background of the bar.
- bars:
The bars to update the color scheme of or Automatic if empty.
Discussion
The preferred visibility flows up to the nearest container that renders a bar. This could be a NavigationView or TabView in iOS, or the root view of a WindowGroup in macOS.
In iOS, a value of automatic makes the visibility of a tab bar or navigation bar background depend on where a List or ScrollView settles. For example, when aligned to the bottom edge of of a scroll view’s content, the background of a tab bar becomes transparent.
Specify a value of Visibility.visible to ensure that the background of a bar remains visible regardless of where any scroll view or list stops scrolling.
This example shows a view that prefers to always have the tab bar visible when the middle tab is selected:
TabView {
FirstTab()
MiddleTab()
.toolbarBackgroundVisibility(.visible, for: .tabBar)
LastTab()
}You can provide multiple placements to customize multiple bars at once, as in the following example:
TabView {
NavigationView {
ContentView()
.toolbarBackgroundVisibility(
.visible, for: .navigationBar, .tabBar)
}
}