[关闭]
@SanMao 2015-08-11T16:13:32.000000Z 字数 1749 阅读 1157

事件响应

事件处理


响应者对象

UITouch

提示:iPhone开发中,要避免使用双击事件!

  1. - (CGPoint)locationInView:(UIView *)view;
* 返回值表示触摸在view上的位置
* 这里返回的位置是针对view的坐标系的(以view的左上角为原点(0, 0))
* 调用时传入的view参数为nil的话,返回的是触摸点在UIWindow的位置
  1. - (CGPoint)previousLocationInView:(UIView *)view;
* 该方法记录了前一个触摸点的位置

UIEvent

截图

UIResponder

  1. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
  2. - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
  3. - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
  4. - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
  1. - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;
  2. - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;
  3. - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;
  1. - (void)remoteControlReceivedWithEvent:(UIEvent *)event;

触摸事件处理的详细过程

如果重写一个控件的多个父控件的touchsBegan方法,那么这个控件就拥有多个事件响应者

如何判断上一个响应者

响应者链的事件传递过程

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注