捕获UIView作为UIImage

我一直在使用这种方法将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的图像表示。 现在我想要2张图片,一张是UIView的上半部分,另一张是下半部分。 我怎么做?

你可以使用下面的代码将你的UIImage分成两部分:

 CGImageRef topOfImageCG = CGImageCreateWithImageInRect(currImage.CGImage, CGRectMake(0, 0, currImage.size.width, currImage.size.height / 2.0)); UIImage *topOfImage = [UIImage imageWithCGImage:topOfImageCG]; CGImageRelease(topOfImageCG);