Pregunta

Tengo este código:

CGDataProviderRef provider = CGDataProviderCreateWithFilename([myFile UTF8String]);
CGImageRef img = CGImageCreateWithJPEGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);

Más tarde, cargo CGImageRef en un UIImage de esta manera:

UIImage *uiImage = [[UIImage alloc] initWithCGImage:destImage];

Me gustaría dibujar un círculo sobre esa imagen. El punto es que el círculo se mueve, por lo que debe eliminarse y volver a dibujarse. Supongo que la mejor manera de lograr esto es con capas, así que mi pregunta es: ¿Cómo puedo agregar una capa a ese código y dibujar un círculo en ella? ¿Cómo puedo luego restablecer la capa y volver a dibujar ese círculo?

¡Gracias!

¿Fue útil?

Solución

Querrá usar un UIImageView y luego agregar una capa separada a esa vista. Si su capa [círculo] se mueve, simplemente establezca su propiedad de posición en el nuevo centro; El sistema de visualización se encargará de recomponer todo.

Para que su círculo aparezca en la capa, puede usar una imagen fija, la subclase CALayer y anular drawInContext :, o configurar el delegado e implementar drawLayer: inContext :.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top