Hallo,
ich habe diese Liste hier und möchte, dass der weiße Listenhintergrund verschwindet, da die BackgroudView ein Bild lädt und die einzelnen Listenelemente mit diesem leicht durchscheinenden .regularMaterial Look darüber schweben sollen. Momentan funktioniert das aber leider nicht ...
Alles anzeigen
der Modifier .foregroundStyle(.white) von dem navigationTitle wird übrigens auch ignoriert ...
ich habe diese Liste hier und möchte, dass der weiße Listenhintergrund verschwindet, da die BackgroudView ein Bild lädt und die einzelnen Listenelemente mit diesem leicht durchscheinenden .regularMaterial Look darüber schweben sollen. Momentan funktioniert das aber leider nicht ...
Quellcode
- import SwiftUI
- import WeatherKit
- struct CitiesListView: View {
- // use dismiss to remove a view from a NavigationStack
- @Environment(\.dismiss) private var dismiss
- let currentLocation: City?
- @Binding var selectedCity: City?
- var body: some View {
- NavigationStack {
- List {
- Group {
- if let currentLocation {
- CityRowView(city: currentLocation)
- .onTapGesture {
- selectedCity = currentLocation
- dismiss()
- }
- }
- ForEach(City.cities) { city in
- CityRowView(city: city)
- .onTapGesture {
- selectedCity = city
- dismiss()
- }
- }
- }
- .frame(maxWidth: 0.95 * UIScreen.main.bounds.width)
- .padding(.vertical, 5)
- .background(.regularMaterial)
- .clipShape(.rect(cornerRadius: 20))
- }
- .listStyle(.plain)
- .listRowBackground(Color.clear)
- .navigationTitle(Text("My Cities").foregroundStyle(.white))
- .navigationBarTitleDisplayMode(.inline)
- .background {
- BackgroundView()
- }
- }
- }
- }
- #Preview {
- CitiesListView(currentLocation: City.mockCurrent, selectedCity: .constant(nil))
- .environment(LocationManager())
- }