Liquid Glass tab bar doesn't update its background on tab switch until I scroll — expected? Workaround?

Hi,

On iOS 26 I'm seeing a behavior with the new Liquid Glass tab bar in SwiftUI and I can't tell if it's expected or if there's a supported workaround.

When I switch tabs in a TabView, the floating Liquid Glass tab bar keeps the glass appearance it derived from the previous tab's content. It only refreshes to match the newly selected tab once I scroll the new tab's scroll view — even by a single point. In Apple's own apps (e.g. Home) the bar updates immediately on tab change, which makes me think this isn't intended.

I reduced it to a minimal example — no images, no glassEffect, no NavigationStack, just gradients:

  struct ContentView: View {
      enum TabID: Hashable { case blue, green, dark }
      @State private var selection: TabID = .blue
      var body: some View {
          TabView(selection: $selection) {
              Tab("Blue",  systemImage: "drop.fill", value: .blue)  { Page(colors: [.blue, .indigo]) }
              Tab("Green", systemImage: "leaf.fill", value: .green) { Page(colors: [.green, .teal]) }
              Tab("Dark",  systemImage: "moon.fill", value: .dark)  { Page(colors: [.gray, .black]) }
          }
      }
  }

  struct Page: View {
      let colors: [Color]
      var body: some View {
          ZStack {
              LinearGradient(colors: colors, startPoint: .top, endPoint: .bottom)
                  .ignoresSafeArea()
              ScrollView {
                  ForEach(0..<40, id: \.self) {
                      Text("Row \($0)")
                          .foregroundStyle(.white)
                          .frame(maxWidth: .infinity, alignment: .leading)
                          .padding()
                  }
              }
          }
      }
  }

Steps to reproduce:

  1. Run on a real device (iPhone 17 Pro Max, iOS 26.5.1, Xcode 26).
  2. Switch between the three tabs without scrolling.

Expected: the tab bar's glass tint adapts to the destination tab's gradient immediately on switch. Actual: the bar keeps the previous tab's tint until I scroll the new view ~1pt.

What I've already tried (no luck):

  • Both the modern Tab API and the legacy .tabItem / .tag style — same behavior.
  • Faking a scroll with setContentOffset (animated and non-animated) — doesn't reliably trigger the refresh;

only a genuine user scroll does.

  • toolbarBackgroundVisibility(...) and forcing a color scheme — no effect.

Questions:

  1. Is this a known issue / expected behavior in iOS 26?
  2. Is there a supported way to make the tab bar re-sample its Liquid Glass backdrop when the selected tab

changes (without requiring a user scroll)?

I've also filed it via Feedback Assistant. Thanks!

Configuration: iPhone 17 Pro Max, iOS 26.5.1, Xcode 26.

Liquid Glass tab bar doesn't update its background on tab switch until I scroll — expected? Workaround?
 
 
Q