Clicking in SwiftUI - how to get size of ZStack

Gerriet M. Denkmann

I have (macOS 12.3.1):

struct ContentView: View
var body: some View
{ metrics in

... some HStacks ...

ZStack // Curves
... several Shapes with Path
.frame( maxHeight: metrics.size.height * 0.2 )
NSLog("\(#function) Curves clicked")

...more stuff ...

Problem: clicking exactly on some Curve did work, but clicking anywhere else in my ZStack did not.

So I added as first item in my ZStack:
.opacity(0.01) // must be > 0

struct BackgroundRect: Shape
func path(in rect: CGRect) -> Path { Path(rect) }

Seems a bit clumsy, but this was the best I could find.

Now clicking does work. But I have no idea, where in my ZStack the click did occur.

So I replaced onTapGesture with:

.gesture ( DragGesture(minimumDistance: 0)
{ value in
print("Curves clicked at: \(value.location)")

But I am not interested in the absolut location of the click, but on its position relative to the bounds of my ZStack.

How do I get the bounds or frame or size of my ZStack?