UISwipeGestureRecognizerDirection问题

Pau*_* T. 3 iphone ipad ios uiswipegesturerecognizer

在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];
    }
}
Run Code Online (Sandbox Code Playgroud)

recognizer.direction总是等于' 3'.这就是为什么我无法确定它是向左还是向右滑动.

use*_*2F7 6

如果要在左右手势之间进行辨别,则必须为每个方向设置单独的手势识别器.direction属性仅为您设置允许的方向(3 =两个方向).您可以为两者提供相同的目标方法,并在该方法中询问您正在执行的识别器的方向.