He estado utilizando este método para convertir un UIView
en UIImage
. es decir instantánea de pantalla de una vista -Capture UIView como UIImage
@interface UIView(Extended)
- (UIImage *) imageByRenderingView;
@end
@implementation UIView(Extended)
- (UIImage *)imageByRenderingView
{
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultingImage;
}
@end
Para usarlo, hago esto -
UIImage *currImage = [self.view imageByRenderingView];
Esto da a la representación de la imagen de toda la UIView
. Ahora quiero 2 imágenes, una es de la mitad superior de UIView
y la otra es la mitad inferior. ¿Cómo puedo hacer eso?
Tenga en cuenta que (desde mi experiencia) 'renderInContext:' puede ser bastante caro. Lo estoy haciendo en un 'cellForRowAtIndexPath:' (no teniendo, ahora mismo, otra opción) y esto obviamente significa retraso. –