当前位置: 首页 > news >正文

丽水做企业网站的地方wp做网站难吗

丽水做企业网站的地方,wp做网站难吗,erp教学零基础入门,faq wordpress事件传递链和响应者链总结 1. 事件传递链:事件传递链:传递流程:总结第一响应者: 2. 响应者链响应者链传递流程总结响应者链流程 总结: 之前也学习过这个内容这次在复习的时候,就想着写一下总结:…

事件传递链和响应者链总结

      • 1. 事件传递链:
        • 事件传递链:
        • 传递流程:
        • 总结第一响应者:
      • 2. 响应者链
        • 响应者链
        • 传递流程
        • 总结响应者链流程
      • 总结:

之前也学习过这个内容这次在复习的时候,就想着写一下总结:
初始事件传递链和响应者链

1. 事件传递链:

事件传递链:

将用户在应用程序中的进行交互的事件发送到视图层次中的适当对象。在这个事件的传递过程中,从根视图开始查找,并递归向下查找最合适的处理该事件的视图(第一响应者)。

传递流程:
  • 事件产生: 用户通过与设备交互生成事件,系统将事件传递给引用的UIApplication实例,以开始事件分发。
  • UIApplication事件分发:UIApplication实例将事件传递给当前的UIWindow对象,进一步查找适合的响应者。
  • UIWindow事件分发:当前UIWindow通过调用hitTest:withEvent:方法来遍历整个视图层次结构,找到合适的视图来响应工作。
  • 命中测试(hitTest:withEvent:)
    **hitTest:withEvent:是寻找第一响应者的核心方法。**它通过以下步骤工作:
    1. 检查当前视图的属性隐藏hidden = NO,交互userInteractionEnabled=YES、透明度alpha>0.01三者都满足才能拥有响应的能力。
    2. 调用pointInside:withEvent:,确定触摸点是否在当前视图的边界范围内。
    3. 从后往前遍历子视图,递归调用子视图的hitTest:withEvent:方法。
    4. 直到找到合适的子视图,返回子视图作为第一响应者,否则返回当前视图本身。
  • 第一响应者确定:如果确定了当前触摸点在当前视图上,同时当前视图没有任何子视图,那么当前视图就成为第一响应者并开始处理触摸事件。

相应的大致流程过程:UIKit –> active app's event queue –> window –> root view –> …… –> lowest view
事件传递的本质就是为了让我们找到第一响应者。

总结第一响应者:
  1. 能够响应触摸事件
  2. 触摸点在自己的边界范围内
  3. 没有任何子视图或者所有子视图都不在触摸点上。
    在这里插入图片描述

2. 响应者链

响应者链

在事件传递链中找到了第一响应者,但是第一响应者不一定可以响应事件,因为他可能没有实现触摸事件。

传递流程

对于响应者链的传递流程可以通过下面这张图来看:
在这里插入图片描述
左边的app响应者链:

  1. 初始视图对象尝试对事件进行处理,如果无法处理,就将事件传递给父视图对象。在视图树,初始视图并不是最顶端的视图。
  2. 父视图也会进行同样的尝试,因为相同的原因,只能将事件继续向上传递。
  3. 视图控制器中最顶层的视图也进行相同的尝试,结果处理不了就会传递给视图控制器。
  4. 视图控制器也一样无法处理,于是继续向上传递给主窗体对象(window)。
  5. 主窗体也无法处理,就会继续传给app的单例实体对象。
  6. 最后单例实体对象没有处理,就会将事件丢弃掉。

右边的app响应者链:

  1. 视图将事件沿着视图控制器的视图树向上传递,直到最顶端的视图。
  2. 顶端的视图无法处理就直接交给视图控制器。
  3. 视图控制器无法处理就将事件传递给其顶端视图所在的父视图,重复1~3,知道到达最顶端的跟视图控制器。
  4. 跟视图控制器将事件传递给主窗体对象。
  5. 主窗体对象传递给app的单例实体对象。
总结响应者链流程

判断当前视图能否响应,再去判断当前视图的nextResponder,如果是VCView,那么nextResponer就是VC

如果不是控制器的View,上一个响应者就是SuperView

相应的大致流程过程:第一响应者->super view->......->ViewController->window->application

总结:

  • 触摸事件发生之后,系统会生成简单的UIEvent
  • UIEvent产生的事件添加到UIApplication队列中。
  • 然后UIApplication将事件分发给UIWindow,主窗口会在视图层次中找到合适的视图处理触摸事件。
  • 不但递归调用hitTest方法来确定第一响应者。
  • 如果第一响应者无法响应事件,就按照响应者链往上传递,传递给父视图。
  • 一直传到UIApplication,如果都没有响应则事件丢弃。
http://www.yayakq.cn/news/231952/

相关文章:

  • 做体彩网站怎么做海口注册公司代理公司地址电话
  • 做网站要懂什么编程申请做网站
  • 网站用哪些系统做的比较好上海闵行刚刚发生的
  • 延吉市建设局网站WordPress 类型 网页
  • 怎么用ftp管理网站php空间放两个网站
  • 网站可以做315认证吗厦门网站推广的目标
  • 软件 网站开发合作协议关于加强网站建设
  • 网站建设的课程设计表白网站制作源码
  • 北京海淀中关村找工作网站网业小游戏
  • 网站建设商品编码是多少网站开发必须要要掌握的语言
  • 网站建设公司做ppt吗官网网站搭建
  • 免费推广的网站泉州网站建站推广
  • app和网站开发人员工作职责在中国做网站网站违法吗
  • php做网站弊端福州大型网站建设
  • 太原网站搭建推广wordpress占用资源
  • 上海网站建设v芯ee8888eWordPress知更鸟主题怎样安装
  • 做地方网站论坛苏醒的wordpress主题怎么样
  • 网站seo课设校园二级网站建设
  • 深圳建站网站模板易企秀 旗下 网站建设
  • 虚拟主机如何做多个网站位置图片在线制作
  • 怎么健免费网站吗做网络推广的网站
  • 博湖网站建设建网站的策划方案
  • 搜索的网站后大拇指分享数量不见了广西教育学会 网站建设
  • 网站推广的方法有sem推广宁波seo运营推广平台排名
  • 深圳网站建设(信科网络)能自己做网站吗
  • 大连手机自适应网站建设网站开发经验总结与教训
  • 资源网站优化排名软件公司广告策划案例范文
  • 网站开发服务费会计分录wordpress固定链接404
  • 仿163源码交易平台宽屏整站源码 网站模板交易平台源码建瓯网站建设wzjseo
  • 网站内容规划网站外链有死链