Używam tej metody do przekonwertowania UIView
na UIImage
. tj migawka ekran z widokiem -Przechwyć UIView jako 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
Aby go użyć, mogę to zrobić -
UIImage *currImage = [self.view imageByRenderingView];
Daje reprezentację obrazu całego UIView
. Teraz chcę 2 obrazy, jeden jest z górnej połowy UIView
, a drugi to dolna połowa. Jak mogę to zrobić?
pamiętać, że (z mojego doświadczenia) 'renderInContext:' może być dość kosztowne. Robię to w 'cellForRowAtIndexPath:' (nie mając, teraz, innej opcji) i to oczywiście oznacza opóźnienie. –