一个UILongPressGestureRecognizer的子类,它大大简化了触摸识别的工作。
CXTapGestureRecognizer *gestureRecognizer = [[CXTapGestureRecognizer alloc] init];
gestureRecognizer.delegate = self;
[self.view addGestureRecognizer:gestureRecognizer];
✓ 用于 start
、update
、cancel
和 finish
的代理协议方法。
- (void)tapGestureRecognizerDidStart:(CXTapGestureRecognizer *)gestureRecognizer
{
NSLog("Gesture recognizer started");
}
- (void)tapGestureRecognizerDidUpdate:(CXTapGestureRecognizer *)gestureRecognizer
{
NSLog("Gesture recognizer updated");
}
- (void)tapGestureRecognizerDidCancel:(CXTapGestureRecognizer *)gestureRecognizer
{
NSLog("Gesture recognizer cancelled");
}
- (void)tapGestureRecognizerDidFinish:(CXTapGestureRecognizer *)gestureRecognizer
{
NSLog("Gesture recognizer finished");
}
✓ 用于取消的代理方法。
- (BOOL)swipeGestureRecognizerShouldCancel:(CXSwipeGestureRecognizer *)gestureRecognizer
{
return YES;
}
CXSwipeGestureRecognizerDelegate
- (void)tapGestureRecognizerDidStart:(CXTapGestureRecognizer *)gestureRecognizer;
- (void)tapGestureRecognizerDidUpdate:(CXTapGestureRecognizer *)gestureRecognizer;
- (void)tapGestureRecognizerDidCancel:(CXTapGestureRecognizer *)gestureRecognizer;
- (void)tapGestureRecognizerDidFinish:(CXTapGestureRecognizer *)gestureRecognizer;
- (BOOL)tapGestureRecognizerShouldCancel:(CXTapGestureRecognizer *)gestureRecognizer;
CXSwipeGestureRecognizer : UILongPressGestureRecognizer
@property (unsafe_unretained) id <CXTapGestureRecognizerDelegate> delegate;