Making two views match sizes in SwiftUI is surprisingly simple: give each an infinite max frame in the direction you want, then apply fixedSize() to the container. No GeometryReader required. See how it works: https://www.hackingwithswift.com/quick-start/swiftui/how-to-make-two-views-the-same-width-or-height
How to make two views the same width or height - a free SwiftUI by Example tutorial

Learn Swift coding for iOS with these free tutorials

Hacking with Swift
@twostraws I always wonder about these things, is that just the way it behaves or is that a contract for the future? Who says iOS 27 will keep this behavior?

@ristkof @twostraws Sad to say this is the contract…

`.fixedSize` forces a view to use its 'ideal size', per the docs. Its name just defies user expectations.

`.frame` is also badly named, as it technically allows overriding the size proposal a view offers to its container, the documented layout system.

Views take all the available space the container offers, up to their max width, but ideal size kicks in when space is unbounded, like scrollviews or when using fixedSize…

@ristkof @twostraws

Think:

- `fixedSize` ignores container limits.
- `idealWidth`/`idealHeight` means that dimension when no container limits apply. (Meaning it's a fallback value, while maxWidth is treated like an ideal for a bounded canvas)
- `frame` means override the size proposal to the container.