Я определяю два UISwipeGestureRecognizer
в моем приложении:
UISwipeGestureRecognizer *swipeLeftVolume = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGestureVolume:)];
swipeLeftVolume.direction = UISwipeGestureRecognizerDirectionLeft;
[self.playerView addGestureRecognizer:swipeLeftVolume];
UISwipeGestureRecognizer *swipeRightVolume = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGestureVolume:)];
swipeRightVolume.direction = UISwipeGestureRecognizerDirectionRight;
[self.playerView addGestureRecognizer:swipeRightVolume];
В целевом методе у меня есть 3 состояния:
UIGestureRecognizerStateBegan
UIGestureRecognizerStateChanged
UIGestureRecognizerStateEnded
, и я заметил, что только UIGestureRecognizerStateEnded
называется.
Есть идеи, в чем может быть проблема?я хочу распознать удар по конкретному UIView
:
- (void)handleSwipeGestureVolume:(UISwipeGestureRecognizer *)sender {
if (sender.state == UIGestureRecognizerStateBegan) {
NSLog(@"Start");
} else if (sender.state == UIGestureRecognizerStateChanged) {
NSLog(@"Changed");
} else if (sender.state == UIGestureRecognizerStateEnded) {
NSLog(@"Finish");
}
}