<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macCatalyst: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 11.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/View/toolbarBackgroundVisibility(_:for:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI4ViewPAAE27toolbarBackgroundVisibility_3forQrAA0F0O_AA16ToolbarPlacementVdtF"
  },
  "title" : "toolbarBackgroundVisibility(_:for:)"
}
-->

# toolbarBackgroundVisibility(_:for:)

Specifies the preferred visibility of backgrounds on a bar managed by
SwiftUI.

```
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`](/documentation/SwiftUI/ToolbarPlacement/automatic) if empty.

## Discussion

The preferred visibility flows up to the nearest container that
renders a bar. This could be a [`NavigationView`](/documentation/SwiftUI/NavigationView) or [`TabView`](/documentation/SwiftUI/TabView)
in iOS, or the root view of a [`WindowGroup`](/documentation/SwiftUI/WindowGroup) in macOS.

In iOS, a value of [`automatic`](/documentation/SwiftUI/ToolbarPlacement/automatic) makes the visibility
of a tab bar or navigation bar background depend on where a [`List`](/documentation/SwiftUI/List) or
[`ScrollView`](/documentation/SwiftUI/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`](/documentation/SwiftUI/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)
    }
}
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)