在 viewDidLoad 中我设置:
UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[swipeGesture setDirection:(UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight)];
[self.view addGestureRecognizer:swipeGesture];
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
NSLog(@"Swipe received.");
UISwipeGestureRecognizerDirection temp = recognizer.direction;
if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft)
{
[self backCalendarPressed:nil];
}
else if (recognizer.direction == UISwipeGestureRecognizerDirectionRight)
{
[self nextCalendarPressed:nil];
}
}
但 recognizer.direction
始终等于“3
”。
这就是为什么我无法确定它是向左还是向右滑动的原因。
最佳答案
如果你想区分左右手势,你必须为每个方向设置一个单独的手势识别器。 direction 属性仅提供您设置为允许的方向(3 = 两个方向)。 您可以为两者提供相同的目标方法,并在该方法中询问识别器的方向。
关于iphone - UISwipeGestureRecognizerDirection 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960921/