我有一个SwiftUI视图,它显示在其他视图之上。我发现使用如下的
Color.clear
可以使触摸交互穿透到其下方的视图:var body: some View {
VStack {
Spacer()
HStack {
Spacer()
SomeCustomContent()
Spacer()
}
.overlay(GeometryReader { proxy in
Color.clear.preference(key: MyCustomHeightPreferenceKey.self, value: proxy.size.height)
})
}
}
这是让触摸事件穿透到下方视图的正确方式吗?或者这只是SwiftUI行为的巧合/缺陷,未来Apple可能会修复/更改?
如果不是,那么正确的通过触摸事件的方式是什么?
allowsHitTesting(false)
,这样它就不会捕捉到触摸事件。 - Asperi