I encountered this issue and I wonder what your take on it might be.
1, make 2 overlapping buttons on separate layers
2, register tap event handlers for both - make sure if one is visible and onscreen, the other is invisible and offscreen
3, when a button is tapped, toggle their state
Tap event seemingly executes on both buttons, despite one being offscreen at the time of tap. Things become clear when I put a delay between tap and handler.
Once button1 is tapped, button2 is made visible and moved into place beneath button1. That same tap event then propagates into button2, executing the inverse logic - hence the perception of no change unless button1 is tapped outside the overlapping area.
I don't think this behaviour is correct and would like your opinion.