UIGestureRecognizer.h


#import 
#import 
#import 

@protocol UIGestureRecognizerDelegate;
@class UIView, UIEvent, UITouch;

typedef NS_ENUM(NSInteger, UIGestureRecognizerState) {
    UIGestureRecognizerStatePossible,
    UIGestureRecognizerStateBegan,
    UIGestureRecognizerStateChanged,   
    UIGestureRecognizerStateEnded,     
    UIGestureRecognizerStateCancelled,
    UIGestureRecognizerStateFailed,
    UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded
};

#pragma - mark -
NS_CLASS_AVAILABLE_IOS(3_2) @interface UIGestureRecognizer : NSObject

- (id)initWithTarget:(id)target action:(SEL)action;
- (void)addTarget:(id)target action:(SEL)action;   
- (void)removeTarget:(id)target action:(SEL)action;

@property(nonatomic,readonly) UIGestureRecognizerState state;       //  手势的状态

@property(nonatomic,assign) id  delegate;  // 代理

@property(nonatomic, getter=isEnabled) BOOL enabled; 

@property(nonatomic,readonly) UIView *view;          // 手势发生的view
@property(nonatomic) BOOL cancelsTouchesInView;      
@property(nonatomic) BOOL delaysTouchesBegan;        
@property(nonatomic) BOOL delaysTouchesEnded;        

- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer;

- (CGPoint)locationInView:(UIView*)view;
- (NSUInteger)numberOfTouches;                                         
- (CGPoint)locationOfTouch:(NSUInteger)touchIndex inView:(UIView*)view;

@end

#pragma - mark - 代理方法
@protocol UIGestureRecognizerDelegate 
@optional

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer;
#pragma - mark 是否允许多个手势同时有效
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer NS_AVAILABLE_IOS(7_0);
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer NS_AVAILABLE_IOS(7_0);
// 拦截手势的事件,返回NO则不调用方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;

@end


你可能感兴趣的:(UIGestureRecognizer.h)