事件出现在iphone上有三种主要方式:通过触摸,通过摇动,及远程控制。
Responding to Touch Events
– touchesBegan:withEvent:
– touchesMoved:withEvent:
– touchesEnded:withEvent:
– touchesCancelled:withEvent:
Responding to Motion Events
以上是响应摇动的方法
Responding to Remote-Control Events
以上响应远程摇动的方法UIView,UIapplication,uiviewcontroler是它的子类,就是能响应事件
手势:
手势识别:
UIGestureRecognizer是手势的基类,它有7个子类分别代表7中手势
-
UITapGestureRecognizer //轻拍,单击,双击,多指点击
-
UIPinchGestureRecognizer 捏合,放大缩小
这几个手势初始化都是– initWithTarget:action:
action定义方法是
- (void)handleTap:(UITapGestureRecognizer *)sender |
{ |
if (sender.state == UIGestureRecognizerStateEnded) |
{ |
// handling code |
} |
} |
-
Possible ----> Began ----> [Changed] ----> Cancelled
-
Possible ----> Began ----> [Changed] ----> Ended
手势状态以下:
typedef enum { UIGestureRecognizerStatePossible, UIGestureRecognizerStateBegan, UIGestureRecognizerStateChanged, UIGestureRecognizerStateEnded, UIGestureRecognizerStateCancelled, UIGestureRecognizerStateFailed, UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded } UIGestureRecognizerState;