iOS View 转 Image

2018-03-06  本文已影响0人  师从小马哥

直接上代码(有注意点):

- (UIImage *)captureScrollView:(UIScrollView *)scrollView{
    UIImage* image = nil;
//    UIGraphicsBeginImageContext(scrollView.contentSize);
    
    // 注意: 1. 第一个参数 是 滚动区域, 2. 第二个参数 如果是yes 则会变黑色
    UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, NO, 0);
    {
        CGPoint savedContentOffset = scrollView.contentOffset;
        CGRect savedFrame = scrollView.frame;
        scrollView.contentOffset = CGPointZero;
        scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height);
        
        [scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
        image = UIGraphicsGetImageFromCurrentImageContext();
        
        scrollView.contentOffset = savedContentOffset;
        scrollView.frame = savedFrame;
    }
    UIGraphicsEndImageContext();
    
    if (image != nil) {
        return image;
    }
    return nil;
}
上一篇 下一篇

猜你喜欢

热点阅读