Tengo dos círculos que se mueven por la pantalla. Los círculos son ambos UIViews que contienen otras UIViews. El área fuera de cada círculo es transparente.Seguimiento de una animación de núcleo Animación
He escrito una función para crear un CGPath que conecta los dos círculos con forma de cuadrilátero. Lleno este camino en un CALayer transparente que abarca toda la pantalla. Como la capa está detrás de las dos vistas UIView circulares, parece conectarlas.
Finalmente, las dos UIViews están animadas usando Core Animation. La posición y el tamaño de ambos círculos cambian durante esta animación.
Hasta ahora, el único método que he tenido ningún éxito con es interrumpir la animación a intervalos regulares utilizando un NSTimer, a continuación, volver a calcular y trazar el haz basado en la ubicación de la capa de presentación del círculo. Sin embargo, el cuadrilátero va a la zaga de los círculos cuando la animación se acelera.
¿Hay alguna forma mejor de lograr esto usando Core Animation? ¿O debería evitar Core Animation e implementar mi propia animación usando un NSTimer?
Solo una nota para aquellos que optan por implementar animación totalmente programática en lugar de usar propiedades personalizadas: no use 'NSTimer' para eso; sería lento y codicioso para la CPU. Para cualquier cosa relacionada con la animación, use ['CADisplayLink'] (https://developer.apple.com/library/ios/documentation/QuartzCore/Reference/CADisplayLink_ClassRef/), que se sincroniza con la frecuencia de actualización de la pantalla y es utilizado internamente por CoreAnimation . – skozin