1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //
- // YYGestureRecognizer.m
- // YYKit <https://github.com/ibireme/YYKit>
- //
- // Created by ibireme on 14/10/26.
- // Copyright (c) 2015 ibireme.
- //
- // This source code is licensed under the MIT-style license found in the
- // LICENSE file in the root directory of this source tree.
- //
- #import "YYGestureRecognizer.h"
- #import <UIKit/UIGestureRecognizerSubclass.h>
- @implementation YYGestureRecognizer
- - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
- self.state = UIGestureRecognizerStateBegan;
- _startPoint = [(UITouch *)[touches anyObject] locationInView:self.view];
- _lastPoint = _currentPoint;
- _currentPoint = _startPoint;
- if (_action) _action(self, YYGestureRecognizerStateBegan);
- }
- - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
- UITouch *touch = (UITouch *)[touches anyObject];
- CGPoint currentPoint = [touch locationInView:self.view];
- self.state = UIGestureRecognizerStateChanged;
- _currentPoint = currentPoint;
- if (_action) _action(self, YYGestureRecognizerStateMoved);
- _lastPoint = _currentPoint;
- }
- - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
- self.state = UIGestureRecognizerStateEnded;
- if (_action) _action(self, YYGestureRecognizerStateEnded);
- }
- - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
- self.state = UIGestureRecognizerStateCancelled;
- if (_action) _action(self, YYGestureRecognizerStateCancelled);
- }
- - (void)reset {
- self.state = UIGestureRecognizerStatePossible;
- }
- - (void)cancel {
- if (self.state == UIGestureRecognizerStateBegan || self.state == UIGestureRecognizerStateChanged) {
- self.state = UIGestureRecognizerStateCancelled;
- if (_action) _action(self, YYGestureRecognizerStateCancelled);
- }
- }
- @end
|