CGImageRef y capas de dibujo
-
06-07-2019 - |
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!
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 :.