Pergunta

É possível obter um ponto de partida do gesto de um UiswipeGestureRecognizer. como é possível em

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

    UITouch * touch = [touches anyObject];
    gestureStartPoint = [touch locationInView:self];
}
Foi útil?

Solução

De acordo com Documentação de UiswipeGestureRecognizer você pode:

Você pode determinar o local em que um toque começou chamando os métodos UigestureReCognizer LocationIview: e LocationOftouch: Inview:. O método anterior fornece o centróide se mais de um toque estivesse envolvido no gesto; Este último dá a localização de um toque específico.

PS: Você realmente deve examinar primeiro a documentação, a resposta foi na referência de classe do UiswipeGestureRecognizer, não deveria ser difícil de encontrar. Parte de ser desenvolvedor é poder procurar as coisas, a Apple tem uma excelente documentação, use -a!

Outras dicas

AVISO

A resposta de Amy é totalmente INCORRETA! O reconhecedor pode gerar UIGestureRecognizerStateBegan Mas em deslizar UISwipeGestureRecognizer gera UIGestureRecognizerStateEnded Somente evento.

Mas touchesBegan: funciona em vez disso. O problema é que, se ele suporta a interação do usuário, funciona apenas para a visualização atual e você precisará passá -la para uma visualização pai.

Sim, é possível. Veja o código abaixo:

if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
    NSLog(@"StateBegan :::::");
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top