One of the first things presented about SwiftUI is that its views determine their own sizes, and that those sizes are fixed … This statement fundamentally changes everything you know about layout. Until you understand all of the repercussions of it, you’ll be constantly feeling like you’re fighting SwiftUI for even the simplest layouts.
–Scott James Remnant, netsplit.com
This is definitly my experience with layout in SwiftUI. It took this masterful series of posts by Scott James Remnant (yes, that Scott James Remnant) to set me straight. I highly recommend starting with “Views Have Fixed Sizes” and continuing to click “Next” until empty.