我有一个显示在其他视图之上的 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)
})
}
}
Run Code Online (Sandbox Code Playgroud)
这是使触摸传递到下面的视图的正确方法,还是这只是 SwiftUI 行为中巧合的怪癖/错误,随着 swiftui 的成熟,苹果可能会修复/更改?
如果不是,传递触摸的正确方法是什么?