Pergunta

A função touchesMoved Comporta -se de maneira diferente no iPhone e simulador.

O intervalo de repetição (taxa de atualização) da função touchesMoved é muito mais rápido que o simulador. Existe uma maneira de lidar com a diferença?

Foi útil?

Solução

Muitas vezes, as pessoas estão achando que isso é um problema, porque estão fazendo algo intensivo no manipulador de toques e quando os eventos chegam com muita frequência, faz com que a interface pareça atrasar.

Uma maneira relativamente simples de lidar com isso é: antes de tudo, no manipulador TouchesMoved, armazenar a posição de toque em uma variável que representa a posição do que quer que esteja rastreando o dedo.

Retorne do manipulador TouchesMoved imediatamente. Crie um objeto NSTIMER e defina seu controlador de exibição como um delegado dele e faça com que faça o que fazia o comportamento em movimento de Renagem/Visão costumava estar no seu manipulador TouchesMoved. Assim, você obtém um movimento quase constante, independentemente do tempo entre os eventos do TouchesMoved.

Se você é realmente avançado, pode usar um nsrunloop personalizado em vez de usar um cronômetro, mas isso é mais do que eu posso explicar aqui :) A idéia geral é: não faça tudo nos manipuladores de eventos do Touch.

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