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") }
                    
                }
            }

        }
        
        
        
    }
}