у меня есть два распознавателей для моего зрения контроллера:UISwipeGestureRecognizer не регистрации салфетки при использовании UITapGestureRecognizer
(viewDidLoad)
//Add gestures
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:nil];
[tap setDelaysTouchesBegan:YES];
tap.delegate = self;
[self.view addGestureRecognizer:tap];
UISwipeGestureRecognizer *leftSwipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:nil];
leftSwipe.delegate = self;
[self.view addGestureRecognizer:leftSwipe];
На кране я хочу что-то случится, на взмах я хочу сделать что-то еще , Однако кран всегда вызывает как жест салфетки, так и жест нажатия.
Как я могу сделать так, чтобы он вызывал либо в зависимости от действия?
Вот код, где я пытаюсь разглядеть (но не)
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
if ([gestureRecognizer isKindOfClass:[UISwipeGestureRecognizer class]]) {
UISwipeGestureRecognizer *rg = (UISwipeGestureRecognizer*)gestureRecognizer;
if (rg.direction == UISwipeGestureRecognizerDirectionRight && !self.itemsOnScreen) {
NSLog(@"swipe");
return YES;
}else{
return NO;
}
}
if (self.itemsOnScreen) {
self.itemsOnScreen = NO;
//Actions for my tap
return YES;
}else{
return NO;
}
}