2009-10-12 7 views
3

J'anime la propriété center d'une vue dans mon programme. Pendant l'animation, j'ai besoin de notifications lorsque le centre atteint une valeur particulière.Valeur de clé Observation pendant les animations UIView

J'ai essayé d'ajouter le moi en tant qu'observateur de valeur clé pour la propriété center de la vue. Cependant, je ne reçois notification que lorsque l'animation commence. Je suis donc incapable de détecter si/quand l'objet traverse mon point d'intérêt.

Existe-t-il un moyen de le faire par le biais de KVO ou de toute autre méthode?

Merci!

Répondre

6

Vous pouvez récupérer les valeurs représentant l'état actuel de la couche animée de UIView en accédant à sa couche de présentation. Cela peut être fait en utilisant le code comme les suivantes:

CGPoint currentCenter = [[view.layer presentationLayer] center]; 

Malheureusement, les propriétés de la couche de présentation ne sont pas KVO conformes, donc la meilleure façon que je peux penser pour le suivi de la valeur actuelle est de maintenir polling la couche de présentation jusqu'à ce que il s'approche de l'endroit que vous voulez.

+0

merci de me le faire savoir! Je vais essayer de comprendre comment je peux observer la propriété manuellement dans mon code. – infiniteloop