您的位置:首页 > 产品设计 > UI/UE

处理多层级事件传递(UIResponder拓展)

2016-07-15 14:49 323 查看
1、使用场景

多层级的事件传递与响应

编辑

2、参数说明

eventName:通过这个key对事件进行识别;

userInfo:响应事件需要的数据,类型可根据需要来写(model或NSDictionary等等)

编辑

3、使用方法

给UIResponder添加一个自定义事件

当事件发生,沿响应者链,找到当前view的nextResponder(即:superView)对应的view(或viewController),找到这个view后先判断能不能响应这个事件,如果不能那就继续找nextResponder,直到viewController接收该事件。



在当前view响应点击事件的方法中,将事件传递出去

例:



注:每一个key(即:eventName),可定义在当前view中,以便接收事件的superView使用

在对应controller中统一接收事件

例:



在对应control中实现具体事件

例:



4、优缺点

优点:统一处理多层级事件的传递与相应,避免了逻辑混乱的多层代理,代码简洁,结构简单;

缺点:对于层级结构简单的情况,相比抛出代理而言,逻辑清晰度稍差。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: