1、UIView,begin向上传递
begin-》beign-〉...-》end-〉end
2、UIContol,begin不会向上传递
begin->end->target-action
3、UIGestureRecognizer,begin向上传递
begin-》beign-〉gesture-action-〉cancel-》cancel
3.1 UIControl同时添加了UIGestureRecognizer
如果是UIGestureRecognizer,程序死锁,卡住无反应了--实际上是当前view的事件被锁住,与此viewp层级平级的pointinsdie没有被挡住的view仍然可以响应;如果此view挡住整个界面,则界面锁住
如果UITapGestureRecognizer等,优先响应gesture-action,UIControl的target-action被取消
4、无论什么交互, 当收到触摸事件, touchesBegin会最先调用
4.1、UIContol, 或者在UIControl上添加UIGestureRecognizer, 事件会终止向上层响应链传递,就是到本view的begin就不往上传递了
4.2、UIGestureRecognizer,begin向上传递, beigin-》next begin-〉gesture-action-》cancel
4.3、UIView,begin向上响应链传递, begin向上传递重新实现begin不调用系统默认的begin,可以截断
begin-》next begin-〉...-》end-〉nextend..
4.4、响应链,每一个view都增加了gesture, 只有第一响应者gesture-action执行
5、1个view增加多个gesture, 最后增加的gesture-action执行
5.1、如果自定义实现了gesture代理方法,可以改变这一行为,由代理方法决定生效的gesture
网友评论