SwiftUI 在滚动视图下点击
SwiftUI tap under scrollview
点击绿色手势无效。有人对此有解决方案吗?
ZStack {
Color.green
.onTapGesture {
print("green")
}
ScrollView {
VStack {
Spacer(minLength: 500)
Color.red
.onTapGesture {
print("red")
}
.frame(height: 800)
}
}
}
你想要的是不可能的,因为ScrollView在绿色View之上,但是有这样的方式:
struct ContentView: View {
func greenFunction() { print("green") }
var body: some View {
ZStack {
Color.green.onTapGesture { greenFunction() }
ScrollView {
VStack(spacing: 0) {
Color.white.opacity(0.01).frame(height: 500).onTapGesture { greenFunction() }
Color.red.frame(height: 800).onTapGesture { print("red") }
}
}
}
}
}
点击绿色手势无效。有人对此有解决方案吗?
ZStack {
Color.green
.onTapGesture {
print("green")
}
ScrollView {
VStack {
Spacer(minLength: 500)
Color.red
.onTapGesture {
print("red")
}
.frame(height: 800)
}
}
}
你想要的是不可能的,因为ScrollView在绿色View之上,但是有这样的方式:
struct ContentView: View {
func greenFunction() { print("green") }
var body: some View {
ZStack {
Color.green.onTapGesture { greenFunction() }
ScrollView {
VStack(spacing: 0) {
Color.white.opacity(0.01).frame(height: 500).onTapGesture { greenFunction() }
Color.red.frame(height: 800).onTapGesture { print("red") }
}
}
}
}
}