J'ai utilisé cette méthode pour convertir un UIView
en UIImage
. dire capture d'écran d'une vue -Capture UIView comme 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
Pour l'utiliser, je le fais -
UIImage *currImage = [self.view imageByRenderingView];
Cela donne la représentation de l'image de l'ensemble UIView
. Maintenant, je veux 2 images, l'un est de la moitié supérieure de la UIView
et l'autre est la moitié inférieure. Comment je fais ça?
Notez que (d'après mon expérience) 'renderInContext:' peut être assez cher. Je le fais dans un 'cellForRowAtIndexPath:' (ne pas avoir, en ce moment, une autre option) et cela signifie évidemment retard. –