2013-03-29 4 views
0

добавить 4 UISwipeGestureRecognizer к изображению view.but, когда я красть вправо, вверх UISwipeGestureRecognizer является triggered.When я пальцем влево, не UISwipeGestureRecognizer не triggered.When я пальцем вверх, влево UISwipeGestureRecognizer является triggered.When я красть вниз, вниз запускается UISwipeGestureRecognizer. Вот мой кодUISwipeGestureRecognizer работает в неправильном направлении

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    //imageView is an outlet of image view 
    imageView.userInteractionEnabled=YES; 
    UISwipeGestureRecognizer *swipeRight=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRightAction)]; 
    swipeRight.direction=UISwipeGestureRecognizerDirectionRight; 
    [imageView addGestureRecognizer:swipeRight]; 

    UISwipeGestureRecognizer *swipeLeft=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeLeftAction)]; 
    swipeLeft.direction=UISwipeGestureRecognizerDirectionLeft; 
    [imageView addGestureRecognizer:swipeLeft]; 

    UISwipeGestureRecognizer *swipeUp=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeUpAction)]; 
    swipeLeft.direction=UISwipeGestureRecognizerDirectionUp; 
    [imageView addGestureRecognizer:swipeUp]; 

    UISwipeGestureRecognizer *swipeDown=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeDownAction)]; 
    swipeDown.direction=UISwipeGestureRecognizerDirectionDown; 
    [imageView addGestureRecognizer:swipeDown]; 
} 

- (void)swipeRightAction 
{ 
    NSLog(@"swipe right"); 

} 

- (void)swipeLeftAction 
{ 
    NSLog(@"swipe left"); 

} 

-(void)swipeUpAction 
{ 

    NSLog(@"swipe up "); 
} 

-(void)swipeDownAction 
{ 

    NSLog(@"swipe down "); 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if ((interfaceOrientation == UIInterfaceOrientationLandscapeRight) || 
     (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)) 
     return YES; 
    return NO; 
} 

ответ

1

У вас есть опечатка здесь:

UISwipeGestureRecognizer *swipeUp=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeUpAction)]; 
// HERE 
swipeLeft.direction=UISwipeGestureRecognizerDirectionUp; 
[imageView addGestureRecognizer:swipeUp]; 

Он должен быть swipeUp вместо swipeLeft.

+0

Он хорошо работает. Большое вам спасибо. –

+0

Я рад, что это помогло вам –

Смежные вопросы