Вероятно, это старая проблема. но я все еще не мог найти работающее решение.
Как на изображении ниже. Я хочу, чтобы синий фон был расширен на весь список сверху. Однако SwiftUI автоматически добавляет два белых фона (потенциально из UICollection View или где-то еще). Кто-нибудь знает, как удалить эти белые фоны из списка SwiftUI?
Минимальный код для воспроизведения проблемы. Здесь два фона черные и блокируют синий фон.
struct ContentView: View {
var body: some View {
List {
Text("Hello World")
Text("Hello World")
Text("Hello World")
}
.background(Color.blue)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}





В iOS 16 вам нужно использовать .scrollContentBackground(.hidden) в дополнение к настройке цвета фона:
List {
Text("Hello World")
Text("Hello World")
Text("Hello World")
}
.background(Color.blue)
.scrollContentBackground(.hidden)
До iOS 16 было несколько обходных путей, самым надежным был ретроспективный (пример )
Круто, я полностью пропустил этот API, большое спасибо! Вместе с .listRowBackground(Color.clear) я получил полностью прозрачный список~~
Эй, братан, у меня проблема, и я хочу спросить тебя. Когда список пуст, фон становится белым или черным. Я не могу получить прозрачный список!! ПОМОЩЬ!
@DoubleShy0N ну, комментарии - не лучший способ начать новый вопрос. Вместо этого отправьте свой вопрос (с кодом для воспроизведения проблемы), и кто-нибудь ответит.
Вам нужно отредактировать свой вопрос, чтобы включить весь соответствующий код в виде текста, используя правильное форматирование кода, а не в виде снимка экрана, в виде минимального воспроизводимого примера, чтобы сделать вопрос по теме.