- (void)viewDidLoad {
UITapGestureRecognizer *singleTapOne = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
singleTapOne.numberOfTouchesRequired = 1; singleTapOne.numberOfTapsRequired = 1; singleTapOne.delegate = self;
UITapGestureRecognizer *singleTapTwo = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
singleTapTwo.numberOfTouchesRequired = 2; singleTapTwo.numberOfTapsRequired = 1; singleTapTwo.delegate = self;
UITapGestureRecognizer *doubleTapOne = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
doubleTapOne.numberOfTouchesRequired = 1; doubleTapOne.numberOfTapsRequired = 2; doubleTapOne.delegate = self;
UITapGestureRecognizer *doubleTapTwo = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
doubleTapTwo.numberOfTouchesRequired = 2; doubleTapTwo.numberOfTapsRequired = 2; doubleTapTwo.delegate = self;
[singleTapOne requireGestureRecognizerToFail:doubleTapOne]; // Single tap requires double tap to fail
[singleTapTwo requireGestureRecognizerToFail:doubleTapTwo];
[self.view addGestureRecognizer:singleTapOne]; [singleTapOne release];
[self.view addGestureRecognizer:singleTapTwo]; [singleTapTwo release];
[self.view addGestureRecognizer:doubleTapOne]; [doubleTapOne release];
[self.view addGestureRecognizer:doubleTapTwo]; [doubleTapTwo release];
[super viewDidLoad];
}
- (void)handleSingleTap:(UITapGestureRecognizer *)sender {
if (sender.numberOfTouchesRequired == 1) {
NSLog(@"Single Tap with a finger.");
}
else if (sender.numberOfTouchesRequired == 2) {
NSLog(@"Single Tap with two finger.");
}
}
- (void)handleDoubleTap:(UITapGestureRecognizer *)sender {
if (sender.numberOfTouchesRequired == 1) {
NSLog(@"Double Tap with a finger.");
}
else if (sender.numberOfTouchesRequired == 2) {
NSLog(@"Double Tap with two finger.");
}
}
UITapGestureRecognizer 区分多指 单双击
最新推荐文章于 2018-04-29 09:45:55 发布