Estoy creando una aplicación simple donde cuando el usuario presiona un botón, se dibujarán una serie de líneas en la pantalla y el usuario podrá ver estas líneas dibujadas en tiempo real (casi como una animación) .Animación de dibujo
Mi código es como la siguiente (se ha simplificado):
UIGraphicsBeginImageContext(CGSizeMake(300,300));
CGContextRef context = UIGraphicsGetCurrentContext();
for (int i = 0; i < 100; i++) {
CGContextMoveToPoint(context, i, i);
CGContextAddLineToPoint(context, i+20, i+20);
CGContextSetStrokeColorWithColor(context, [[UIColor blackColor] CGColor]);
CGContextStrokePath(context);
}
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Mi problema es que:
1) Tan pronto como el usuario presiona el botón, la UIThread bloques hasta que el dibujo es hecho.
2) No puedo hacer que las líneas se dibujen en la pantalla de a una por vez. He intentado configurar el UIImage directamente dentro del ciclo y también intenté establecer el contenido de una capa dentro del ciclo.
¿Cómo puedo evitar estos problemas?
¿Esto ayuda? http://stackoverflow.com/questions/9245954/moving-an-image-along-a-series-of-cgpoints –
¿Qué tipo de retraso quieres? – nielsbot
Un retraso personalizable sería bueno, creo que Rob tenía lo que estaba buscando ... ¡gracias por su ayuda! – HHHH