你的位置:首页 > 软件开发 > 操作系统 > iOS之触摸及手势

iOS之触摸及手势

发布时间:2016-01-29 18:00:18
触摸事件iOS中的事件:在用户使用app过程中,会产生各种各样的事件。iOS中的事件可以分为3大类型: view的触摸事件处理:响应者对象:在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应 ...

iOS之触摸及手势

触摸事件

iOS中的事件:

在用户使用app过程中,会产生各种各样的事件。iOS中的事件可以分为3大类型:

iOS之触摸及手势 iOS之触摸及手势 iOS之触摸及手势

view的触摸事件处理:

响应者对象:

在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”。

UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件。

UIResponder:

UIResponder内部提供了以下方法来处理事件:

// 触摸事件- (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;// 加速计事件- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;// 远程控制事件- (void)remoteControlReceivedWithEvent:(UIEvent *)event;

UIView的触摸事件处理:

UIView是UIResponder的子类,可以覆盖下列4个方法处理不同的触摸事件:

/* 一根或者多根手指开始触摸view,系统会自动调用view的下面方法 */- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event/* 一根或者多根手指在view上移动,系统会自动调用view的下面方法(随着手指的移动,会持续调用该方法) */- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event/* 一根或者多根手指离开view,系统会自动调用view的下面方法 */- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event/* 触摸结束前,某个系统事件(例如电话呼入)会打断触摸过程,系统会自动调用view的下面方法 */- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event// 提示:touches中存放的都是UITouch对象

UITouch:

当用户用一根手指触摸屏幕时,会创建一个与手指相关联的UITouch对象。一根手指对应一个UITouch对象。

UITouch的作用:

原标题:iOS之触摸及手势

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。