SwifUI - Как удалить цвет фона строки списка для стиля карты

Я сделал строку списка в стиле карты, которая работает нормально. Проблема в том, что цвет фона строки списка остается. Я могу заставить его исчезнуть, установив его на systemGray6, но он не очень адаптивен для темного режима, и, скорее всего, есть лучший способ сделать это.

Просмотр карты:

var body: some View {
    ZStack {
        
        Rectangle().fill(Color.white)
            .cornerRadius(10).shadow(color: .gray, radius: 4)
            .frame(width: UIScreen.main.bounds.width - 40)
        
        HStack {
            Image(uiImage: (UIImage(data: myVideo.thumbnailImage!) ?? UIImage(systemName: "photo"))!)
                .resizable()
                .aspectRatio(contentMode: .fit)
                .frame(width: 100, height: 100)
            VStack {
                Text(myVideo.title!)
                    .multilineTextAlignment(.center)
                    .font(.body)
                    .padding(.bottom, 10)
                    .frame(maxWidth: UIScreen.main.bounds.width - 40, maxHeight: .infinity, alignment: .center)
                
                Text(myVideo.youtuber!)
                    .font(.subheadline)
            }
        }
        .padding(5)
    }
}

Посмотреть список:

    var body: some View {
    NavigationView {
        if myVideos.isEmpty {
            Text("You have not added videos yet!")
            font(.subheadline)
        } else {
            List() {
                Section(header: Text("Not Watched")) {
                    ForEach(myVideos) { video in
                        if !video.watched {
                            NavigationLink(destination: MyVideoView(myVideo: video)) {
                                MyListRowView(myVideo: video)
                            }
                        }
                    }
                    .onDelete(perform: removeItems)
                }

                Section(header: Text("Watched")) {
                    ForEach(myVideos) { video in
                        if video.watched {
                            NavigationLink(destination: MyVideoView(myVideo: video)) {
                                MyListRowView(myVideo: video)
                            }
                        }
                    }
                    .onDelete(perform: removeItems)
                }
                .listRowBackground(Color(UIColor.systemGray6))
            }
            .navigationBarTitle("Videos")
            .listStyle(GroupedListStyle())
        }
    }
}

Изображение: (Предполагаемое поведение в "СМОТРЕТЬСЯ" и Некорректное поведение в "НЕ СМОТРЕТЬ"

0 ответов

Другие вопросы по тегам