A solution I have found is an empty VStack
with the actual content as an .overlay()
. This allows the content to expand naturally while removing it from the horizontal layout of the view.
VStack {}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.overlay(alignment: .leading) {
ScrollView {
...
}
.frame(minWidth: 550, maxWidth: .infinity)
}