Нераспознанный селектор при пролистывании - PullRequest
2 голосов
/ 20 марта 2012

Мне нужно ловить ударные действия только в специальной области.Но отладчик сообщает unrecognized selector sent to instance

- (void)viewDidLoad
{
    UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc]
          initWithTarget:self.viewName action:@selector(didSwipe:)];
    swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;
    [self.view addGestureRecognizer:swipeLeft];
}

-(void)didSwipe:(UISwipeGestureRecognizer*)swipe{
   NSLog(@"swiped left");
}

что не так?

Ответы [ 2 ]

6 голосов
/ 20 марта 2012

У вашего распознавателя жестов есть аргумент, поэтому он должен быть @selector(didSwipe:) (обратите внимание на двоеточие).

3 голосов
/ 20 марта 2012

Вы, вероятно, хотите, чтобы цель была self, а не self.imageName.


Редактировать В ответ на ваши комментарии.

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

Вы хотите, чтобы ваш target был тем местом, где живет метод. В этом случае это должно быть self. Вы хотите добавить распознаватель жестов к виду, к которому нужно прикоснуться, self.viewName.

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