The simplest way is using listRowInsets(_:)
to make zero insets for your item:
VStack {
// ...
}
.listRowInsets(EdgeInsets())
I was able to achieve this behavior:
Using this code:
List {
// First item with custom insets
VStack {
Text("Edge to Edge Content")
.frame(maxWidth: .infinity, alignment: .leading)
.background(Color.gray.opacity(0.2))
}
.listRowInsets(EdgeInsets())
.listRowSeparator(.hidden)
// Standard list items
ForEach(1..<10) { i in
Text("Item \(i)")
}
}
.listStyle(.plain)