how does UIGestureRecognizer works with UIResponder chain?
<p>I know that touch events can delivery to hit-view or gesture. but something confused me in my demo:</p>

<p>I have two subviews in my root view, one is testView (subclass of UIView), the other is testBtn(UIButton) which action is "testBtnClicked". Then, I add an UITapGestureRecognizer to my root view and set its action to "tapAction".</p>

<p>The problem comes:</p>

<p>when I touch on root view , it trigger  "touchsBegan:withEvent:" 、 "tapAction" and "touchsCancelled:withEvent" method. That's what I expected;</p>

<p>When I touch on testView, it works the same as above;</p>

<p>when I touch on testBtn, it only triggered "testBtnClicked" method.Why? </p>

<p>why the gesture is recognized when I touch on testView not the root view? and why it's not  recognized when I touch on testBtn?</p>