UISwipeGestureRecognizerDirectionRight
- это значение для четырех возможных направлений.Это не тот класс, который вы создаете для распознавания жестов.Вместо этого используйте UISwipeGestureRecognizer
:
UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc]
initWithTarget:self
action:@selector (handleSwipeGestureRight:)];
//Set the direction you want to detect by setting
//the recognizer's direction property...
//(the default is Right so don't really need it in this case)
swipeGesture.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:swipeGesture];
[swipeGesture release];
Кроме того, метод обработчика должен быть:
-(IBAction)handleSwipeGestureRight:(UISwipeGestureRecognizer *)swipeGesture {
, потому что в селекторе для действия вы ставите двоеточие в имени метода, означающемхотите, чтобы он передал объект отправителя в качестве первого параметра.(Вы также можете удалить двоеточие из селектора, если вам не нужен отправитель в обработчике.)
Наконец, void
более подходит, чем IBAction
в обработчике, поскольку он не будетбыть вызванным из объекта в xib.Однако, поскольку IBAction и void - это одно и то же, это не вызовет проблем.