Метод Swipe вызывается дважды - PullRequest
       5

Метод Swipe вызывается дважды

0 голосов
/ 02 сентября 2011

Я должен использовать функцию смахивания в моем контроллере вида. таким образом, всякий раз, когда происходит смахивание Iam, мой метод смахивания вызывается дважды, а NSlogs, которые я написал в методе (swipe :), отображает содержимое два раза.

Вот код, который я использовал.

UIView *swipeView=[[UIView alloc]initWithFrame:CGRectMake(405, 420, 265, 35)];
    swipeView.backgroundColor=[UIColor clearColor];
    [self.view addSubview:swipeView];
    UISwipeGestureRecognizer *gesture;
    gesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe:)];
    [gesture setDirection:(UISwipeGestureRecognizerDirectionRight)];
    [swipeView addGestureRecognizer:gesture];
    [gesture release];
    [swipeView release];


 -(void)swipe:(UISwipeGestureRecognizer *)recognizer {
    NSLog(@"Swipe received.");
    NSLog(@"HIJ");
}

скажите, пожалуйста, что мне нужно сделать, чтобы позвонить только один раз?

Ответы [ 2 ]

0 голосов
/ 02 сентября 2011

Попробуйте, распознаватель имеет различные состояния, такие как

UIGestureRecognizerStatePossible,
UIGestureRecognizerStateBegan,
UIGestureRecognizerStateChanged,
UIGestureRecognizerStateEnded,
UIGestureRecognizerStateCancelled,
UIGestureRecognizerStateFailed,
UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded




-(void)swipe:(UISwipeGestureRecognizer *)recognizer {


    if (recognizer.state == UIGestureRecognizerStateEnded) {


        NSLog(@"Swipe received.");
        NSLog(@"HIJ");

    }
}
0 голосов
/ 02 сентября 2011

Вот что должно было случиться.Вам нужно взглянуть на свойство state, где вы найдете такие вещи, как UIGestureRecognizerStateBegan и UIGestureRecognizerStateEnded.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...