J'ai implémenté un gestionnaire tap-and-hold en utilisant un NSTimer que j'ai d'abord défini dans la surcharge de TouchesBegan. Cependant, ce que je veux réellement, c'est qu'une action soit continuellement exécutée dans une succession de tirs rapides pendant que le contact est maintenu. Donc, à l'expiration de la minuterie, j'appelle un gestionnaire pour faire le travail, qui définit ensuite une autre minuterie et le cycle continue jusqu'à ce que le TouchesEnded arrive et l'annule, ou une autre condition de fin est remplie.Événements de minuterie et d'animation qui troncent les événements TouchesEnded
Cela fonctionne très bien, jusqu'à ce que mon code de gestionnaire déclenche une animation pour se déclencher en même temps. Maintenant, nous avons des événements d'animation et des événements de minuterie qui se déclenchent, et dans tout ce que nous devons également gérer TouchesEnded. Ce que je trouve c'est que, si l'animation est déclenchée, et que j'ai réglé mon timer à moins de 0.025 secondes, mon événement TouchesEnded n'arrivera que lorsque le cycle de la minuterie s'arrêtera (l'autre condition de terminaison). Régler une minuterie plus lente, ou ne pas déclencher l'animation, le faire fonctionner (TouchedEnded vient tout de suite), mais ne sont pas ce que je veux.
Évidemment, cela est tout sur l'appareil (version build - pas NSLogs) - dans la carte SIM tout fonctionne bien
Est-il possible de régler la priorty relative de ces événements - ou est-il probable que je suis manque quelque chose d'autre évident ici?
[Update]
Je travaille autour de ce dans ce cas en faisant la partie continue sans rétroaction visuelle jusqu'à ce qu'il soit fait (qui, de ce point de vue des utilisateurs est instantanée). Je pense que c'est ok pour le moment. Je voudrais encore entendre d'autres réflexions à ce sujet (l'idée de Jeffrey était bonne), mais je n'attends pas les charbons ardents maintenant.
Merci d'avoir modifié les tags, Chris - cela pourrait aider plus de gens à voir la question. – philsquared