Estoy creando una aplicación que implica animar líneas dentro de un área de trabajo a lo largo del tiempo. Mi enfoque actual para esto es usar un código como éste en drawRect
:¿Cuál es la forma más fácil de animar una línea?
CGContextSetStrokeColor(context, black);
CGContextBeginPath(context);
CGContextMoveToPoint(context, startPoint.x, startPoint.y);
CGContextAddLineToPoint(context, finalPoint.x, finalPoint.y);
CGContextStrokePath(context);
... y luego simplemente configurar un temporizador para que se ejecute cada 0,05 segundos para actualizar finalPoint
y llame setNeedsDisplay
.
Estoy encontrando este enfoque (cuando hay 5ish líneas que se mueven a la vez) ralentiza la aplicación terriblemente, e incluso con una frecuencia de actualización tan alta, todavía parece desigual.
Debe haber alguna forma mejor de realizar este dibujo de líneas muy simple en una línea animada, es decir diciendo que quiero que una línea comience en x1, y1 y se extienda a x2, y2 durante un período de tiempo determinado. ¿Cuáles son mis opciones para esto? Necesito hacer que esto funcione más rápido y me encantaría deshacerme de este temporizador torpe.
Gracias!