I want two equally sized buttons. I thought to be efficient using the Group type to set the minWidth and maxWidth on both the buttons, like so:
HStack(spacing: 0) {
Group {
Button {
} label: {
Text("One")
.padding()
}
.background(.black)
.tint(.white)
Button {
} label: {
Text("Two")
.padding()
}
.background(.white)
.tint(.black)
}
.frame(minWidth: 0, maxWidth: .infinity) // <-
}
.background(.orange)
But this doesn't work. The buttons stay their intrinsic content size. To make them take up half of the space, I have to set the .frame on the buttons individually, like so:
Button {
} label: {
Text("One")
.padding()
}
.frame(minWidth: 0, maxWidth: .infinity) // <-
.background(.black)
.tint(.white)
Am I missing some limitations of the Group Type? I thought it would apply .frame() to both?
It certainly does something, because adding it to one Button AND the Group, gives desired behavior for that one Button already.