我一直在使用这种方法将 UIView
转换为 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
要使用它,我这样做 -
UIImage *currImage = [self.view imageByRenderingView];
这将给出整个 UIView
的图像表示。现在我想要两张图片,一张是 UIView
的上半部分,另一张是下半部分。我该如何做?
renderInContext:
可能会非常昂贵。我正在cellForRowAtIndexPath:
中执行它(现在没有其他选择),这显然会导致滞后。 - StuFF mc