SwiftUI Gestures prevent subview gesture when build with XCode 16 in iOS 18

I have a view with some buttons, and add 2 gestures using simultaneously. My app works well when built with XCode less than 16, or run on iOS less than 18.0.

Example code is below:

VStack(spacing: 0) {
            Button {
                print("button tapped")
            } label: {
                Rectangle()
                    .foregroundColor(.red)
            }
            .frame(height: 100)
        }
        .gesture(
            DragGesture(minimumDistance: 0)
                .onEnded { value in
                    print("single tap")
                }
                .simultaneously(with:
                    TapGesture(count: 2).onEnded {
                        print("double tap")
                    }
                )
        )
        .frame(width: 200, height: 200)
        .border(Color.purple)

I expect the action on Button should be recognized and print out button tapped, but only single tap and double tap are recognized

SwiftUI Gestures prevent subview gesture when build with XCode 16 in iOS 18
 
 
Q