ios之触摸事件
来源:互联网 发布:淘宝差评可以删除吗 编辑:程序博客网 时间:2024/04/28 22:46
触摸事件分两种:手指点击 手指移动:(备注:ios9之后苹果加了一个3DTouch功能也是在触摸事件中吧!!!这个本文暂不分析)
首先是是点击事件:
一根或者多根手指开始触摸屏幕
- (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
计算touch的位置:- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent*)event
{
}
触摸事件的处理
如果hit-test视图无法处理事件,则通过响应者链向上传递
1.如果hit-test视图的控制器存在,就传递给控制器;如果控制器不存在,则将其传递给它的父视图
2.如果视图或它的控制器无法处理收到的事件或消息,则将其传递给该视图的父视图
3.每一个在视图继承树中的上层视图如果不能处理收到的事件或消息,则重复上面的步骤1,2
4.在视图继承树的最上层视图,如果也不能处理收到的事件或消息,则其将事件或消息传递给窗口对象进行处理
5. 如果窗口对象也不能进行处理,则其将事件或消息传递给UIApplication对象
6.如果UIApplication也不能处理该事件或消息,则将其丢弃
当用户点击屏幕时,会产生一个UITouch对象传递给UIApplication,然后由window负责查找最适合相应触摸事件的视图对象(hitTest,pointInside)
找到合适的视图之后,Touch方法由对应的视图完成,上级视图不再接管
不接受处理事件的三种方法
不接受处理事件的三种方法
不接收用户交互:userInteractionEnabled = NO;
隐藏:hidden = YES;
透明:alpha = 0~0.01
0 0
- IOS之触摸事件
- ios之触摸事件
- iOS之触摸事件
- ios事件之触摸事件
- iOS 【UIKit-iOS事件之触摸事件】
- IOS之触摸事件和手势
- IOS之触摸事件和手势
- IOS之触摸事件和手势
- IOS之触摸事件和手势
- ios学习之基础 触摸事件5
- IOS之触摸事件和手势
- iOS之触摸事件和手势
- ios开发系列之触摸事件
- iOS之UI高级---触摸事件
- iOS之触摸事件和手势
- iOS之触摸事件和手势
- iOS开发系列之触摸事件
- iOS学习笔记-iOS事件处理之触摸事件
- Web前端开发-5
- typedef和#define的作用范围
- OSCache操作详解+标签使用
- background-size和background-position用法
- C#连接mysql数据库学习
- ios之触摸事件
- 日本JATE认证
- 想成为 VR 开发者?不妨看看这位“女学霸”的经历
- JQuery选择器
- Android 编译resource.arsc资源Resource ID解析
- ajax,SEO,谁言鱼和熊掌不可兼得
- Window中常用的属性
- ubuntu14 64位安装LAMP环境
- spring aop 异常记录