iOS 如何截取超出屏幕区域的图片

直接调用截屏的方法即可,

//截屏的方法
- (void)screenCapture{
    UIImage *image = [self captureScrollView:self.collectionView];
    //保存到相册
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    NSLog(@"截屏结束啦!");
}
//传入需要截屏的scrollView / tableView / collectionView

- (UIImage *)captureScrollView:(UIScrollView *)scrollView {
    //设置控件显示的区域大小
    scrollView.frame = CGRectMake(0, _collectionView.frame.origin.y, _collectionView.contentSize.width, _collectionView.contentSize.height);
    //设置截屏大小(截屏区域的大小必须要跟视图控件的大小一样)
    UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, YES, 0.0);
    [[scrollView layer] renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return viewImage;
}

你可能感兴趣的:(iOS 如何截取超出屏幕区域的图片)