Seeing the same issue here.
Sample code:
Menu {
Button(action: {}, label: {
Image(systemName: "book")
})
} label: {
Image(systemName: "book")
}
.onTapGesture {
print("Tapped")
}
Expected output: "Tapped" gets printed when the menu is tapped.
Actual output: On iOS 18, "Tapped" does not get printed. on iOS 17 "Tapped" does get printed.
I find this to be a pretty major regression.