How to make an entire view clickable in SwiftUI
Add a frame modifier with maxWidth and maxHeight to .infinity followed by a contentShape(Rectangle()) modifier.
The following solution resolves the issue by which a tap gesture only registers on content within a view (i.e. a VStack or a HStack).
The solution is demonstrated via three versions:
- As a Single View.
- Within a Zstack.
- Within a VStack.
The code for the demonstration can be found at the tutorials/ui/basics/tap-whole-view branch of our open source tutorial linked below.
Looking to learn more about SwiftUI, Swift, Design and Technology?
Search our blog to learn more about Swift, SwiftUI, design and technology.
Any Questions?
We are actively looking for feedback on how to improve this resource. Please send us a note to inquiries@delasign.com with any thoughts or feedback you may have.