2010-10-05 25 views
0

Pour mon application iPhone, je crée des changements de vitesse avec l'aide de certains UIViews sous-classés.Clignotant UIView

J'ai créé des sous-classes qui pivotent elles-mêmes déclenchées par une minuterie. Dans un endroit, j'ai une de ces sous-classes dans une autre (donc rotation en rotation, pensez à la rotation de la lune autour de la terre et à son propre axe). Tout tourne bien et dandy, mais parfois, comme une ou deux fois par minute, je vois un clin d'œil blanc très rapide dans la zone des UIViews. Parfois dans la moitié supérieure, parfois dans la partie inférieure et parfois toute la zone (qui n'est que d'environ 128 x 128 pixels).

Je fais pivoter en utilisant CGAffineTransformMakeRotation. Je pensais que c'était dû à un problème de performances, mais après avoir simplifié les images (plus de photoshop fait des ombres portées en PNG par exemple) et en réduisant le nombre par seconde que la minuterie est appelée (2 fois par seconde au lieu de 5) avoir le problème. La charge du processeur est maintenant comprise entre 9 et 25% (environ 47%) lorsqu'elle est mesurée dans Instruments sur un iPhone 3G. Clignote toujours!

Des indices sur l'endroit où commencer le dépannage ou un meilleur moyen de faire pivoter les images dans une vue?

Toutes les idées appréciées!

+0

Je l'ai peut-être trouvé (drôle comment poster simplement un problème peut le résoudre!). Dans l'une des sous-vues, j'ai eu un UIView beginAnimations. Une fois que j'ai enlevé que le clignotement est parti. Maintenant, il suffit de trouver un autre moyen de lisser cette animation particulière. Je vais mettre à jour une fois que j'ai fait d'autres tests ... – Structurer

Répondre

0

Fondamentalement, j'avais une animation dans une animation. Pas assez techniquement qualifié pour dire pourquoi cela a causé un problème, mais en supprimant la deuxième animation a résolu le problème. Mes animations étaient du type [UIView animateWithDuration ... dans lequel j'ai fait plusieurs CGAffineTransformMakeRotation's