import SwiftUI struct ContentView: View { var body: some View { TabView { HomeTab() .tabItem { Label("Home", systemImage: "house") } Text("Browse") .tabItem { Label("Browse", systemImage: "magnifyingglass") } Text("More") .tabItem { Label("More", systemImage: "ellipsis") } } .preferredColorScheme(.light) } } private struct HomeTab: View { @State private var showSheet = false var body: some View { NavigationStack { List(0 ..< 5, id: \.self) { row in NavigationLink("Push detail row \(row)", value: row) } .navigationTitle("Home") .navigationDestination(for: Int.self) { row in DetailView(index: row) } .toolbar { ToolbarItem(placement: .topBarTrailing) { Button("Filter") { showSheet = true } } } .sheet(isPresented: $showSheet) { SheetView() } } } } private struct DetailView: View { let index: Int var body: some View { Text("Hello World") .navigationTitle("Detail \(index)") } } private struct SheetView: View { @Environment(\.dismiss) private var dismiss var body: some View { NavigationStack { List(0 ..< 5, id: \.self) { option in Text("Filter option \(option)") } .navigationTitle("Filter") .toolbar { ToolbarItem(placement: .topBarLeading) { Button("Close") { dismiss() } } } } } } #Preview { ContentView() }