2009-10-15 22 views
1

J'ai besoin de masquer une animation entière qui a lieu dans un UIImageView. J'ai essayé de sous-classer UIImageView et de faire le masquage dans son appel drawRect mais cela n'est pas appelé sur toutes les images de l'animation comme je l'avais prévu (il n'est pas appelé du tout) même si l'animation fonctionne bien.Masque une animation entière se passe dans un UIImageView

Quelqu'un a-t-il de l'expérience à ce sujet?

Répondre

1

Étant donné que l'API publique CIFilter est manquante sur iPhone OS, il est impossible de composer avec UIView ou CALayer. Cela signifie que la réponse est: Vous ne pouvez pas masquer le contenu de UIImageView, animé ou non.

J'ai déposé une demande de bogue radar parce que je pense que l'ajout de l'API CIFilter serait une excellente amélioration pour Cocoa Touch et élargirait considérablement les possibilités de conception UI UIView/CALayer. En ce moment, si vous voulez faire du compositing sur l'iPhone, vous devez utiliser Quartz (lent) ou OpenGL (faire tout vous-même).

Si vous êtes d'accord sur l'utilité de CIFilters pour iPhone OS, veuillez remplir une demande au radar. Plus il y a de demandes, plus tôt Apple s'en préoccupera.

+0

Merci Nikolai de confirmer mes craintes. Pour contourner le problème, j'ai sous-classé un UIView et j'ai fait l'animation en utilisant un Timer. Maintenant ça marche, mais la performance est terrible. – Dimitris