I'm using the .gridCellColumns() modifier to merge a view across several views but when I do this, my entire grid shrinks for some reason. Can anyone recommend a solution or a way to debug this? I've simplified things as much as I can below.
The BLUE grid on top shows everything working fine. The RED grid below shows the "1 2 3" views merged into a single "4" view with .gridCellColumns(3) and the grid shrinks for some reason.
var body: some View {
VStack(alignment: .leading, content: {
HStack {
Text("Grid Layout Issue")
.bold()
Spacer()
}
.font(.title)
.padding(.bottom, 12)
Grid {
GridRow {
HStack {
Text("Title A goes here")
.lineLimit(1)
Spacer()
}
Text("1")
Text("2")
Text("3")
}
GridRow {
HStack {
Text("Title B goes here")
.lineLimit(1)
Spacer()
}
Text("1")
Text("2")
Text("3")
}
}
.border(Color.blue)
Grid {
GridRow {
HStack {
Text("Title A goes here")
.lineLimit(1)
Spacer()
}
Text("1")
Text("2")
Text("3")
}
GridRow {
HStack {
Text("Title B goes here")
.lineLimit(1)
Spacer()
}
Text("4")
.gridCellColumns(3) // CHANGE IS HERE <-----
}
}
.border(Color.red)
Spacer()
})
.padding()
}


I was able to use
.layoutPriority()modifier to get everything to play nicely: