SwiftUI 透明 View 点击无法生效的问题

透明的 view,无论是整体 opacity 设置为了0,还是颜色设置为了 clear,在 swiftUI 中,默认的 content shape (内容形状)就是 0,所以点击事件是无法生效的,而要解决这个问题,我们只需要手动设置 content shape 即可。代码如下:

1
2
3
4
Color.clear
.frame(width: 300, height: 300)
.contentShape(Rectangle()) // 这里,当然上面的frame也有必要,如果frame为0,则肯定也无法触发点击
.onTapGesture { print("tapped") }

相关:

SwiftUI Spacer() 部分无法响应点击

SwiftUI 裁剪图片后被裁剪部分仍然可以点击的解决办法


SwiftUI 透明 View 点击无法生效的问题
https://wonderhoi.com/2025/06/25/SwiftUI-透明-View-点击无法生效的问题/
作者
wonderhoi
发布于
2025年6月25日
许可协议