一、iOS事件:

  1.事件:事件就是当你在手机上点击手机屏幕、滑动手机翻面、摇动手机的时候,手机做出一些反应,对应的在应用程序里实现了某些代码的某些功能,完成这个过程就是一个事件。

  2.iOS事件类型:

  (1)触摸事件,比如点击照片放大、点击按钮等。

  (2)运动事件,比如微信摇一摇,就是一个很典型的运动事件,通过手机的运动,实现某些功能。

  (3)远程控制事件,这个我也不知道举什么例子。

  

  

 

二、触摸事件

  1.触摸事件的处理方法:

  复写以下方法,监听触摸事件。

   

  2.UITouch触摸对象

  (1)先来看触摸事件会包含哪些信息:window:触摸产生所在的窗口、view:触摸产生所处的视图、tapCount触摸是单击还是双击或者更多、phase触摸事件在屏幕上有一个周期,即触摸开始、触摸点移动、触摸结束、还有中途取消。通过phase可以查看当前触摸时间在一个周期中所处的状态。phase是UITouchPhase类型的,它是一个枚举:

  ·  UITouchPhaseBegan

  ·  UITouchPhaseMoved

  ·  UITouchPhaseStationary
  ·  UITouchPhaseEnded
  
  window、view、tapCount、phase都是UITouch类中常用属性,也就是说建立一个UITouch对象就可以用这些属性来看触摸事件包含的信息。
  
  (2)
  

  (3)实例代码:新建一个工程,在ViewController中写如下方法

  -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

      //UITouch类中有已经建立了很多UITouch对象,只需要从中取出来即可,不用重复创建,所以此处不用alloc,用一个UITouch的对象touch接收就行了。anyObject是从类里面任意取出来一个。

      UITouch * touch=[UITouch anyObject];取出一个触摸点。

      NSLog(@"%@",touch.window)//打印下touch的window属性。

      NSLog(@"%@", touch.view);//打印下当前触摸的view。

      NSLog(@"tapCount:%ld", touch.tapCount);//打印点击次数。

      NSLog(@"phase: %ld", touch.phase);//当前状态。

      //下面写一个switch,根据点击次数,实现不同的功能,具体代码就不实现了。

      switch (touch.tapCount) {

            case 1:

         

        break;

           case 2:

           

                break;

           case 3:

          

            default:

                break;

      }

  }

  (4)UITouch类中常用方法 

  既然是类中的常用方法,那么,是实例方法的话,我们创建一个UITouch对象就可以调用,是类方法的话,我们直接用类名,即[UITouch ];可以调用。

  

  例如在(3)中我们可以用取出来的对象调用这两个方法。

  CGPoint point =[touch locationInView:touch.view];//调用这个方法可以获得点击时候的位置,用一个CGPoint类型的变量接收就可以得到一个点。

  至于如何打印出这个点,我也不知道,如果你知道还望告知,谢谢。

  (5)touch事件的传递

  

  那么上图中的UIGestureRecognizer又是什么呢?还有什么是第一响应者?下篇博客有详细说明。

  摘自文档:

  

    

转载于:https://www.cnblogs.com/ios-mengxiang/p/4380185.html

iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件相关推荐

  1. android控件的touch事件_Android touch 事件分发时序

    点击上方"蓝字"关注我们 1,touch 事件是如何从驱动层传递给 Framework 层的 InputManagerService: 2,WMS 是如何通过 ViewRooImp ...

  2. 手持设备点击响应速度,鼠标事件与touch事件的那些事

    前言 现在一直在做移动端的开发,这次将单页应用的网页内嵌入了app,于是老大反映了一个问题: app应用点击响应慢! 我开始不以为然,于是拿着网页版的试了试,好像确实有一定延迟,于是开始了研究,最后选 ...

  3. android触摸屏事件,Android Touch事件分析

    Android Touch事件分析 本文将分析Touch事件的传递.很多复杂的功能都需要深刻的处理Touch事件,例如侧边栏,例如图标的拖动换位. 一,Touch事件的执行轨迹 Down->Mo ...

  4. js 如何将 mouse 事件转为touch事件

    可以使用以下方法将鼠标事件转换为触摸事件: 在 DOM 元素上绑定 touchstart 事件监听器,并在事件监听器中调用 preventDefault() 方法来阻止默认的触摸事件. element ...

  5. ios事件-触摸事件2(手势 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的关系)

    ios事件-触摸事件2(手势 和 pointInSide().hitTest().touchesBegan().touchesMoved().touchesEnded().touchesCancell ...

  6. ViewGroup的Touch事件分发(源码分析)

    Android中Touch事件的分发又分为View和ViewGroup的事件分发,View的touch事件分发相对比较简单,可参考 View的Touch事件分发(一.初步了解) View的Touch事 ...

  7. android touch事件坐标原点,图解Android:Touch事件传递机制

    前言 Android事件管理机制是一名专业Android研发工程师必须要了解的核心知识之一,深入了解一下该机制无论对我们日常开发还是找工作,乃至于对我们的架构思想都有很大的帮助.Android中我们用 ...

  8. html 触摸屏页面,HTML5触摸屏touch事件使用实例1

    1.源码: .divFixed { width: 100px; height: 100px; font-size: 15px; text-align: center; border: 2px soli ...

  9. 移动端touch事件---利用bootstrap实现轮播图手指左右滑动事件

    还记的我上篇文章实现了图片响应式滑动,如果不知道怎样实现图片在超宽屏幕居中显示,且也不知道怎样实现图片的响应式效果(专门针对移动端的),可以再继续看看我写的这篇文章.狠狠地点击这里 那么针对移动端,如 ...

最新文章

  1. SoapUI:mock service的简单使用
  2. containerd — 容器引擎
  3. castle windsor学习-----XML Inline Parameters 内联参数
  4. C++题解-Leecode 318. 最大单词长度乘积——Leecode每日一题系列
  5. TypeScript输入参数的默认值一例,以及对应生成的JavaScript代码分析
  6. php7数组写法,数组运算符 - PHP 7 中文文档
  7. exists sql用法_《SQL进阶教程》笔记(3)
  8. 新手linux版本,六款适用于新手的非Ubuntu Linux发行版
  9. 企业运维实践-Nginx使用geoip2模块并利用MaxMind的GeoIP2数据库实现处理不同国家或城市的访问最佳实践指南...
  10. 使用VC++6.0创建.cpp文件工程
  11. uboot命令之bootm详解
  12. 用计算机好还是自己算好作文,计算机考试后感优秀作文
  13. CentOS 部署 NodeBB
  14. Linux系列 使用vi文本编辑器
  15. Java——静态方法
  16. 【科研绘图】PS绘制封面中神奇的放大效果
  17. css_flex弹性盒模型/flex布局/flex在线可视化工具
  18. EXCEL——排序sumproduct函数
  19. linux 添加了错误的PATH变量,linux下环境变量PATH设置错误的补救
  20. 理解对数——Napier和导数的发明(1614年)

热门文章

  1. RN 与原生通信(Android篇)
  2. 已知bug列表——Solidity中文文档(12)
  3. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!
  4. 编程之美2015资格赛 题目2 : 回文字符序列 [ 区间dp ]
  5. 【SICP练习】9 练习1.15
  6. 黄聪:自动化测试的7个步骤
  7. TreeMap源码分析,看了都说好
  8. 《数据库技术原理与应用教程》一3-5信息世界与逻辑模型
  9. 大约 Apple Metal API 一些想法
  10. Linux多进程开发(三)进程创建之守护进程的学习