SwiftUI makes interaction look simple — until something stops responding.

Suddenly:


taps don’t register

buttons overlap incorrectly

gestures steal touches

ScrollView stops scrolling

invisible views block interaction


.onTapGesture fires “randomly”



These bugs all come from hit-testing and event propagation.

This post explains how...