UIScrollView 截图

- (IBAction) renderScrollViewToImage
    {
        UIImage* image = nil;

        UIGraphicsBeginImageContext(_scrollView.contentSize);
        {
            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) {
            [UIImagePNGRepresentation(image) writeToFile: @"/tmp/test.png" atomically: YES];
            system("open /tmp/test.png");
        }
    }

原文地址:https://www.cnblogs.com/liudongyan/p/4892369.html