zoukankan      html  css  js  c++  java
  • IOS事件处理

    在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”
     
       UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件
    •UIView是UIResponder的子类,可以覆盖下列4个方法处理不同的触摸事件
     
    UIEvent可获取是哪个特定的事件
     
    触摸、加速、触摸事件。
     
    默认所有的UIView不支持两个手指。要设置才可以,最好不要
    搞多个手指,移动时不知道搞哪个手指的位置
     
    事件的产生和传递:
           1. 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中
       2. UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow)
          3. 主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步
     
    把各个view公共的事件处理方法抽到父类中
     
    __func__会获取方法在哪个类中调用
    •触摸事件的传递是从父控件传递到子控件
    Ø点击了绿色的view:
    UIApplication->UIWindow->白色 ->绿色
    Ø点击了蓝色的view:
    UIApplication->UIWindow->白色 ->橙色 ->蓝色
    Ø点击了黄色的view:
    UIApplication->UIWindow->白色 ->橙色 ->蓝色 ->黄色
     
     
     
  • 相关阅读:
    Python环境搭建
    Python简介
    第一个Java程序
    shiro实战(1)--web
    JDBC释放数据库连接
    IDEA(ideaIU) v2019.2.2详细安装破解教程
    ubuntu通过代理设置update源
    virtualbox FAIL(0x80004005) VirtualBox VT-x is not available (VERR_VMX_NO_VMX)
    Dubbo入门实例
    jsp模板
  • 原文地址:https://www.cnblogs.com/jianghg/p/4582227.html
Copyright © 2011-2022 走看看