iOS触摸事件与手势

17、iOS 开发:触摸事件与手势识别全解析 本文深入解析了iOS开发中的触摸事件处理与手势识别机制,详细介绍了UIView的触摸事件回调方法,以及如何使用UIGestureRecognizer的不同子类(如UITapGestureRecognizer、UIPinchGestureRecognizer等)来实现丰富的用户交互。同时,还涵盖了手势冲突处理、触摸事件与手势协同工作的技巧,并通过多个代码示例展示了实际应用场景。适合希望提升iOS应用交互设计水平的开发者参考。 阅读详情

--------触摸事件与手势

1.触摸事件的处理方式

     在iOS上,事件的形式:触摸事件(Multitouch events)

    运动事件(Accelerometer events)

    远程控制事件(Remote control events)

     事件处理的方法:

//触摸开始(当一个或多个手指触碰屏幕时)

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

//触摸移动(当一个或多个手指在屏幕上移动时)

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

//触摸结束(当一个或多个手指离开屏幕时)

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

//触摸取消(当触摸事件被例如电话呼入这样的系统事件所取消时)

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

2.事件传递的过程

         事件的传递:从事件发生到其处理的对象,传递要经过特殊的一段过程。当用户点击设备屏幕时,iOS(系统)捕捉到一系列的触摸,将其打包到UIEvent对象中并放置到应用程序的活动时间队中。(发生触摸事件后,系统会将改时间加入到一个由UIApplication管理的事件队列中。)UIApplication对象从事件队列中取出最前面的事件将其分发,通常,其发送事件给应用程序的主窗口——UIWindow,再由窗口对象发送事件给”第一响应者(触摸的视图)”处理。


3.响应者链的基本概念

        响应者对象是一个能接受并且处理事件的对象。UIResponser是所有响应者对象的基类。该基类定义了一系列编程接口,不但为事件处理进行服务而且还提供了通用的响应行为处理。UIApplication,UIView(包括UIWindow),UIViewController,AppDelegate都直接或间接的继承自UIResponser,所有的这些类的实例都是响应者对象。


         响应者链:表示一系列的响应者对象。事件被交由第一响应者对象处理,如果第一响应者不处理,事件被沿着响应者链向上传递,交由下一响应者(next  responder),如果响应事件,事件就被截取处理;如果一直没有处理,事件就被丢弃。



4.手势识别器

    UIGestureRecognizer类,用于检测、识别用户使用设备时所用的手势。他是一个抽象类,定义了所有手势的基本行为。

    UIGestureRecognizer子类,用于处理具体的用户手势行为

  * UITapGestureRecognizer(轻击)

  * UIPinchGestureRecognizer(捏合)

  * UIPanGestureRecognizer(平移)

  * UISwipeGestureRecognizer(轻扫)

  * UIRotationGestureRecognizer(旋转)

  * UILongPressGestureRecognizer(长按)



14、iOS触摸事件与手势识别全解析 本文详细解析了iOS开发中的触摸事件与手势识别技术,涵盖长按、单触、多触、捏合和拖动手势的实现方法。通过代码示例和流程图,指导开发者如何在实际项目中应用这些交互功能,并提供了常见问题的解决方案。内容适合希望提升iOS应用交互体验的开发者参考。 阅读详情

相关推荐

9、iOS 触摸事件处理与手势识别全解析

本文深入解析了iOS开发中的触摸事件处理与手势识别机制,涵盖了响应者链的工作原理、四个触摸通知方法的使用、手势识别器的应用以及自定义手势识别器的实现。通过示例项目TouchExplorer,帮助开发者更好地理解触摸事件的传递和处理方式,并提供了解决手势冲突的方法。适用于希望提升iOS应用交互体验的开发者参考。

devops8pract的博客 99

iOS 手势操作和事件传递响应链

iOS 手势操作和事件传递响应链 概述 iOS中的事件可以分为3大类型:触摸事件、加速计事件、远程控制事件。 在我们点击屏幕的时候,iphone OS获取到了用户进行了“单击”这一行为,操作系统把包含这些点击事件的信息包装成UITouch和UIEvent形式的实例,然后找到当前运行的程序,逐级寻找能够响应这个事件的对象,直到没有响应者响应。这一寻找的过程,被称作事件的响应链。 Hi...

极客学伟的技术分享社区 7108

58、iOS触摸事件与手势处理全解析

本文深入解析了iOS开发中的触摸事件与手势处理机制,涵盖响应链的工作原理、多点触控架构、四个触摸通知方法的使用,并通过两个实际应用(TouchExplorer和Swipes)展示了如何检测触摸事件和滑动手势。文章还分析了滑动手势的检测原理,介绍了开发中需要注意的问题、常见问题的解决方案以及应用的扩展与优化方向。通过本文,开发者可以全面掌握iOS触摸交互的核心知识,并应用于实际开发中,提升应用的交互体验。

blue42的博客 117

IOS开发-触摸事件、手势识别、手势冲突

概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计。今天我们就针对iOS的触摸事件(手势操作)、运动事件、远程控制事件等展开学习: OS事件简介 触摸事件 手势识别 手势冲突 iOS事件 在iOS中事件分为三类: 触摸事件:通过触摸、手势进行触发(例如手指点击、缩放) 运动事件:通过加速器进行触发(例如手机晃动) 远程控制事件:通过其他远程设备触发(例如耳机控制按钮) 下图是苹果官方对于这三种事件的形象描述

liudongshizhang的博客 1214

​苹果开发者账号推送证书配置详细指南​

推送证书的配置是iOS应用实现消息推送的核心步骤。通过生成证书、配置描述文件、集成到服务器三大环节,开发者可快速为App启用APNs服务。建议优先使用更灵活的APNs Auth Key替代传统证书,以减少维护成本。确保拥有有效的苹果开发者账号(个人/公司账号),年费已缴纳。

2325

Mac上VMware Fusion手动安装VMware Tools实现跨系统复制粘贴

本文详细指导了在Mac的VMware Fusion中手动安装VMware Tools的完整流程,以解决虚拟机与宿主机之间无法复制粘贴的常见问题。通过定位安装镜像、挂载、解压并运行安装脚本,最终实现跨系统无缝数据交换,提升工作效率。

orange的博客 697

iOS触摸事件与手势识别详解

一、iOS触摸事件 1.触摸事件的类型    触摸事件的类型一共有四个,一次完整的触摸,至少包括开始和结束两个事件    1>触摸开始,用手指(一根或者多根)按在屏幕上    2>触摸移动,手指在屏幕上发生移动(有可能会发生)    3>触摸结束,手指从屏幕上离开    4>触摸被取消,因为系统事件(例如电话呼叫)一次触摸事件被取消 2.触摸对象UITou

linfuran的博客 584

把STM32MP135当单片机玩:实战SD卡脱机运行LED程序(基于MP135DK开发板)

本文详细介绍了如何在STM32MP135开发板上实现SD卡脱机运行LED程序,通过裸机开发方式(Bare Metal)利用HAL库完成GPIO控制,并解析了SD卡启动流程。内容涵盖工程创建、代码编写、SD卡烧录及常见问题排查,为开发者提供了一种高性能单片机开发方案。

weixin_33734785的博客 242

iOS——触摸事件与手势

1.触摸事件处理方法响应者通过复写以下方法,可以监听触摸事件 //当一个或多个手指触碰屏幕时(开始) - (void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event; //当一个或多个手指在屏幕上移动时(移动) - (void)touchesMoved:(NSSet )touches withEvent:(UIEvent )even

Shing的专栏 772

别再到处找教程了!Windows下用FFmpeg+Mediamtx+VLC搭建本地RTSP流媒体服务器,保姆级配置流程

本文详细介绍了在Windows系统下使用FFmpeg、Mediamtx和VLC搭建本地RTSP流媒体服务器的完整流程。从环境准备到核心配置,再到推流和拉流的实战技巧,提供了保姆级的避坑指南和优化建议,帮助开发者快速实现稳定的流媒体服务部署。

weixin_42614269的博客 212

保姆级教程:在LKD3588开发板上为RK3588添加SC2210摄像头驱动(含完整DTS配置)

本文提供了一份详细的教程,指导如何在LKD3588开发板上为RK3588处理器添加SC2210摄像头驱动,包括完整的DTS配置和内核编译步骤。教程涵盖了环境准备、驱动文件添加、DTS配置详解、内核编译与烧录、驱动测试以及常见问题排查,帮助开发者快速实现SC2210传感器在RK3588平台上的集成与优化。

weixin_42641741的博客 479

iOS:触摸事件和手势识别的介绍

触摸事件和手势识别的介绍 1、iOS的输入事件 UIKit可识别三种类型的输入事件: 触摸事件 运动事件 远程控制事件 iOS中许多事件对象都是UIEvent类的实例,UIEvent记录了事件所产生的时刻和事件类型 UIEvent类对事件类型定义了enum常量: typedefNS_ENUM(NSInteger,...

dienangpiao2051的博客 222

手把手安装GNN必备库 —— pytorch_geometric

PyG全称是Pytorch Geometric,它是一个基于Pytorch构建的库,可以帮助用户快速构建和训练自己的图神经网络模型。PyG中实现了很多先进(state of the art)的GNN模块,例如GCN、GraphSage、GAT、SGC、GIN等等。此外,PyG中还包含了大量的benchmark图数据集、丰富的图数据操作方法、支持多GPU。

m0_51339444的博客 2380

iOS_触摸事件与手势识别

目 录: 一、触摸事件   1.1iOS的输入事件   1.2触摸事件的处理   1.3UITouch类中包含五个属性   1.4UITouch类中包含两个成员函数   1.5响应者链 二、手势识别   2.1使用手势处理器(UIGestureRecognizer)   2.2案例分析 1.1 iOS的输入事件   在iOS中事件分为三类:   1.触摸事件:通过触摸、手势进行触发(例如...

Landen2011的博客 399

DDR5 JEDEC标准简析:一次读懂DDR5的核心规范!

JEDEC,全称是,中文名称是「电子元件工程联合委员会」,它是全球权威的存储接口标准制定机构。我们常见的 DDR2、DDR3、DDR4、DDR5 都是它搞出来的。📌 JEDEC 就像存储接口界的“裁判+编剧”——规定谁该怎么跑,怎么演,怎么配合。

weixin_43199439的博客 2570

决策变量乘积项的线性化

介绍了决策变量相乘情况下的线性化,并用案例进行线性化演示,其中针对连续变量相乘的情况介绍了McCormick包络的近似线性化方法

Linshaodan520的博客 1842

iOS 手势+触摸事件

一、响应链 在IOS开发中会遇到各种操作事件,通过程序可以对这些事件做出响应。 首先,当发生事件响应时,必须知道由谁来响应事件。在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类, 响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获得响应事件消息的机会。当发生事件时,事件首先被发送给第一响应者,第一响应者往往是事 件发生的视图,也就是...

diaoxian5386的博客 173

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

iOS基础 - 触摸事件与手势识别

一、iOS的输入事件 UIKit可识别三种类型的输入事件: 触摸事件 运动(加速计)事件 远程控制事件 二、UIEvent iOS中许多事件对象都是UIEvent类的实例,记录事件产生的时刻和类型 UIEvent类事件类型的enum常量: typedef NS_ENUM(NSInteger, UIEventType) { UIEventTypeTouches, UIEventT

1207

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ios自用学习笔记-触摸事件与手势识别

触摸事件与手势识别是ios中比较核心的功能,因为ios设备通常就只有5个实体按钮:音量大小,静音,开关与home键。因此了解、使用触摸事件与手势识别是学习ios的重点内容。 一、触摸事件 触摸事件主要有以下几个方法: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; -(void)touchesMoved:(N

用博客见证自己的成长 956

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IOS触摸事件和手势识别

IOS触摸事件和手势识别 目录 概述 触摸事件 手势识别 概述 为了实现一些新的需求,我们常常需要给IOS添加触摸事件和手势识别 触摸事件 触摸事件的四种方法 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  开始触摸所触发的方法 -(void)touchesMo...

anyuanpang5060的博客 191

iOS(五)触摸事件以及手势

在Cocoa中,代表触摸对象的类是UITouch,当用户触摸屏幕后,就会产生相应事件,触摸事件在屏幕上有一个周期,触摸开始,触摸点移动,触摸结束,中途取消 UITouch中还包含以下(CGPoint)locationInView:(UIView *)view,返回一个CGPoint类型的值,表示触摸点在view视图的位置, (CGPoint)previousLocationInView:(UI

u012723810的博客 589

iOS 一一 触摸事件和手势

iOS触摸事件和手势 文章出处:http://www.jianshu.com/p/cb0314b72883 在iOS中,触摸表示用户手指触击屏幕及在屏幕上移动时,系统不断发送给应用程序对象,一个UITouch对象表示一个触摸,一个UIEvent表示一个事件 手势是指从一个或多个手指接触屏幕开始,直到手指离开屏幕为止发生的所有事情。手势是触摸事件的集合 简介 iOS 事件分为三

Guizy 1076

[IOS]触摸事件和手势

如何使用IOS中的触摸事件和手势,这也是增加我们IOS应用的一个重要的一个功能?下面我来用一个简单的Demo来入门一下吧! 实现的功能具备右滑动和双击操作: 双击切换图片: 友情提醒:要实现两点滑动,按住alt键和shift键试试 操作步骤: 1.创建一个SingleView的项目,在页面上添加一个子view和几个label; 2.ViewController.h:

学无止境的专栏 2482

iOS中的触摸事件和手势处理

iOS中的事件大体可以分为三大类:1> 触摸事件 2> 加速计事件3> 远程控制事件 响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为"响应者对象".UIApplication,UIViewController,UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件. UIResponderUIRe

Kintan的博客 442

iOS —— 触摸事件传递及响应与手势

iOS 的事件分为三种,触摸事件(Touch Event)、加速器事件(Motion Events)、远程遥控事件(Remote Events)。这些事件对应的类为UIResponder。本文只探究触摸事件。 Tip:在模拟器中,按住option可以两根手指操作。同时按住option+shift可以移动两根手指。 触摸事件的处理 触摸事件可以分为两部分——传递和响应。 传递:系统把该事件传到最适...

weixin_33882443的博客 1062

iOS个人整理08-touch触摸事件和手势识别器

一、touch触摸事件 在给定的触摸阶段,如果发生触摸事件,应用程序就会发送下列消息 //触屏开始 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event //触屏结束,手指离开屏幕 -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

舍本逐末 2131
上一篇: iOS传值总结
下一篇: iOS ARC的使用
Snowflake_light
博客等级 码龄12年 4粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值