1.简介

  在使用设备的时候我们大多时候是但手指触摸控件了进行的,比如点击密码按钮解锁,上下浏览网页等动作。你肯定也摇动过iphone抢红包和***等等,我们的系统可以处理这些事件则都需要去使用UIResponder这个基类。打开https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIResponder_Class/index.html#//apple_ref/occ/instm/UIResponder你讲看到详细的说明。

2.UIResponder事件介绍

在OC中UIResponder就像java中的抽象类一样,你不能通过它去直接创建对象,任务需要处理事件的类都应该继承它或者他的子类。那么神奇的UIResponder到底能够处理那些事件呢:

触摸事件

摇摆事件

重按事件

可以看到UIResponder为偶们提供了丰富的事件类型,为ios的操作提供良好的体验。正如之前所说UIResponder不能够单独实例化,但是只要我们集成UIResponder或者集成UIResponder的子类,并覆盖相应的事件处理方法那么新建的类将获得事件处理的能力。当然IOS库也给我们提供了现成的这样的已经拥有事件处理能力的类供我们使用。

3.继承关系

将UIResponder作为父类派生出如下子类

-UIResponder

  -UIApplication

  -UIView

    -UIControl

  -UIViewController

1.我们可以看到所有的UIView都继承自UIResponder,这也很容易理解,应为一般的UIView都将在界面上呈现,对于触摸事件都会非常敏感。

2.而UIControl类则是UIButton等控件的父类,系统帮助我们将此类控件的共有操作都封装在UIControl中。

3.对于UIApplication和UIViewController不像UIView那样可被触摸,但是不要忘记了UIResponder除了可以处理触摸事件外还可以进行其他事件的处理,而这些事件会被响应者链机制传递到

UIApplication和UIViewController。

4.后续

对于IOS处理事件的机制后续将着重讨论。

见:触摸事件

最新文章

  1. opencv在图像显示中文
  2. JS Json数据转换
  3. codeforces 712A. Memory and Crow
  4. Aspose.Cells设置自动列宽(最佳列宽)及一些方法总结
  5. 【CCL】连通区域提取
  6. Android 注入详解
  7. 又遇BUG-ORA-01148:数据文件忽然变为recover状态
  8. word中的表格空白部分整不掉,下面的表格拉不上来
  9. MYSQLI DEMO
  10. C#多显示器转换的两种方法——SetWindowPos,Screen
  11. NSLog 输出文件名、方法名、行号
  12. loadrunner中组合场景的应用
  13. C++版 - 剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题,ZOJ 1088:System Overload类似)题解
  14. [Codeforces394B]Very Beautiful Number(逆推)
  15. appium运行报错java.net.SocketException: socket write error
  16. CPU指令集设计RISC和CISC
  17. 给Ubuntu软件升级命令
  18. 1011 World Cup Betting (20 分)
  19. IllegalArgumentException: requirement failed: Corrupt index found
  20. uboot1.1.6 start.s分析

热门文章

  1. Oracle 获取数据最新版本
  2. [洛谷P3380]【模板】二逼平衡树(树套树)
  3. POJ3468:A Simple Problem with Integers——题解
  4. BZOJ5289 & 洛谷4437:[HNOI/AHOI2018]排列——题解
  5. 如何给apk文件签名
  6. 题解【poj2774 Long Long Message】
  7. [技巧篇]16.MyEclipse2014安装SVN插件,在线安装
  8. webpack插件url-loader使用规范
  9. DataGridView导出到Word
  10. flask-login源码梳理