Pergunta

Olhando através do documentação, parece que a nova API avançada de gestos não determina a direção de um toque além do básico {esquerda, direita, para cima, para baixo}.

Eu preciso do ponto de partida do toque e da direção.

Existe alguma maneira de recuperar isso além de codificar minha própria biblioteca de gestos avançados do zero dos gestos básicos?

E se essa é a minha única opção, alguém poderia me indicar algum código -fonte aberto que isso faz isso?

Foi útil?

Solução

Entendi! Documentação é aqui, debaixo 'Criando reconhecistas personalizados de gestos' no fundo.

Basicamente, os seis gestos que a Apple fornece ao UigestureRecognizer, e você pode fazer seu próprio reconhecedor de gestos da mesma maneira.

Então, dentro do init de sua visão, você conecta seu reconhecedor. E apenas o ato de conectá -lo a redirecionar automaticamente os eventos de toque recebidos.

Na verdade, o comportamento padrão é tornar seu reconhecedor um observador desses eventos. O que significa que sua visão os obtém como costumava, e, além disso, se o seu reconhecedor picar um gesto, ele desencadeará seu método MyCustomeventHandler dentro da sua visualização (você passou o seletor quando conectou seu reconhecimento).

Mas, às vezes, você deseja impedir que os eventos de toque originais atinjam a vista, e você pode mexer em seu reconhecedor para fazer isso. Portanto, é um pouco enganador pensar nisso como um 'observador'.

Há outro cenário, onde um gesto precisa comer outro. Como você não pode simplesmente enviar de volta um único clique se sua exibição também estiver preparada para receber cliques duplos. Você precisa esperar o reconhecimento do clique duas vezes para relatar a falha. E se for bem -sucedido, você precisará falhar no único clique - obviamente não deseja enviar os dois!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top