在viewDidLoad时为UIView添加操作
- UISwipeGestureRecognizer *recognizer;
- recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
- [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
- [[self view] addGestureRecognizer:recognizer];
- [recognizer release];
- recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
- [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
- [[self view] addGestureRecognizer:recognizer];
- [recognizer release];
- recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
- [recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
- [[self view] addGestureRecognizer:recognizer];
- [recognizer release];
- recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
- [recognizer setDirection:(UISwipeGestureRecognizerDirectionDown)];
- [[self view] addGestureRecognizer:recognizer];
- [recognizer release];
响应操作绑定的事件
- - (void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer{
- //UISwipeGestureRecognizerDirectionLeft UISwipeGestureRecognizerDirectionRight UISwipeGestureRecognizerDirectionUp UISwipeGestureRecognizerDirectionDown
- if (recognizer.direction==UISwipeGestureRecognizerDirectionLeft ) {
- NSLog(@"Left");
- }
- }
方法二:
更多阅读请访问
http://www.hopean.com/
- #define HORIZ_SWIPE_DRAG_MIN 12
- #define VERT_SWIPE_DRAG_MAX 4
- CGPoint startTouchPosition;
- NSString *dirString ;
- - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
- UITouch *touch = touches.anyObject;
- startTouchPosition = [touch locationInView:self.view];
- }
- - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- {
- UITouch *touch = touches.anyObject;
- CGPoint currentTouchPosition = [touch locationInView:self.view];
- if (fabsf(startTouchPosition.x - currentTouchPosition.x) >=
- HORIZ_SWIPE_DRAG_MIN &&
- fabsf(startTouchPosition.y - currentTouchPosition.y) <=
- VERT_SWIPE_DRAG_MAX)
- {
- // Horizontal Swipe
- if (startTouchPosition.x < currentTouchPosition.x) {
- NSLog(@"from left");
- dirString = @"left";
- }
- else{
- NSLog(@"from right");
- dirString = @"right";}
- }
- else if (fabsf(startTouchPosition.y - currentTouchPosition.y) >=
- HORIZ_SWIPE_DRAG_MIN &&
- fabsf(startTouchPosition.x - currentTouchPosition.x) <=
- VERT_SWIPE_DRAG_MAX)
- {
- // Vertical Swipe
- if (startTouchPosition.y < currentTouchPosition.y) {
- NSLog(@"from bottom");
- dirString = @"bottom";}
- else {
- NSLog(@"from top");
- dirString = @"top";}
- } else
- {
- //dirString = @"";
- }
- }
- - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
- if (dirString == @"right") {
- NSLog(@"event right");
- }else if (dirString == @"left") {
- NSLog(@"event left");
- }
- }