J'ai besoin de surveiller étroitement l'échelle de défilement de la vue, de sorte que je puisse mettre à jour le contenu de la vue des éléments (une sous-vue de gérer plusieurs CALayers) selon le défilement de l'affichage d'animation de zoom.
Sur iOS 3.1, tout fonctionne comme prévu, j'utilise zoomToRect:animation: et la scrollViewDidScroll: message de la UIScrollViewDelegate est appelée à plusieurs reprises alors que l'animation a lieu, pour me permettre de mettre à jour les éléments sous-vue à zoom.
Le même code sur iOS 4.0 ne prend pas en exibit le même comportement. Quand je l'appelle zoomToRect:animation:les délégués (scrollViewDidScroll: et scrollViewDidZoom) uniquement être appelé pour une fois, ce qui rend mes sous-éléments desinchronized jusqu'à ce que l'animation est terminée. En fait, les sous-éléments de sauter immédiatement et de vous faire attraper par le zoom de l'animation jusqu'à ce que tout est à la bonne place. C'est comme si l'animation n'est pas de ramasser les modifications sur les sous-vues CALayers.
J'ai essayé d'animer manuellement avec l'animation des blocs, mais la situation est la même, pas de progressif rappel des appels. J'ai également essayé le KVO, mais il n'est pas clair pour moi comment je pourrais puiser dans une UIScrollView géré l'animation.
Est-il une solution sur iOS 4 qui me permettrait de pousser la valeur de l'échelle de mon sous-vues comme le UIScrollView échelle est animé?