转自MJ
事件的完整处理过程:
1.先将事件对象由上往下传递(由父控件传递给子控件),找到最合适的控件来处理这个事件
2.调用最合适控件的touches...方法
3.如果touches...里面调用了[super touches...]方法,则顺着响应者链条往上找,找到上一个响应者
4.执行上一个响应者的touches...方法
谁是上一个响应者
1.如果当前view不是控制器的view,则其父控件是上一个响应者
2.如果当前view是控制器的view,则其控制器是上一个响应者
3.控制器之上如果还有控制器,则接着传递(见下右图)