Начальная точка жеста UISwipeGestureRecognizer - PullRequest
4 голосов
/ 30 сентября 2010

Можно ли получить начальную точку жеста из UISwipeGestureRecognizer. например, как это возможно в

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch * touch = [touches anyObject];
    gestureStartPoint = [touch locationInView:self];
}

Ответы [ 3 ]

7 голосов
/ 30 сентября 2010

Согласно документации UISwipeGestureRecognizer вы можете:

Вы можете определить местоположение, в котором начинается свайп, вызывая методы UIGestureRecognizer locationInView: и locationOfTouch: inView :. Первый метод дает вам центроид, если в жесте было задействовано более одного касания; последний дает местоположение определенного прикосновения.

PS: вы действительно должны сначала взглянуть на документацию, ответ был в справочнике классов UISwipeGestureRecognizer, найти его не должно быть сложно. Часть из того, что вы разработчик, умеют искать вещи, у Apple отличная документация, используйте ее!

3 голосов
/ 02 апреля 2015

ПРЕДУПРЕЖДЕНИЕ

Ответ Эми полностью НЕПРАВИЛЬНО! Распознаватель может генерировать UIGestureRecognizerStateBegan, но при взмахе UISwipeGestureRecognizer генерирует UIGestureRecognizerStateEnded только событие.

Но touchesBegan: работает вместо этого.Проблема в том, что если он поддерживает взаимодействие с пользователем, то он работает только для текущего представления, и вам нужно передать его в родительское представление.

0 голосов
/ 05 мая 2012

Да, это возможно. Смотрите код ниже:

if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
    NSLog(@"StateBegan :::::");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...