的iOS滚动视图截图

问题描述:

UIImage* image = nil; 
UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, YES, 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(); 

我不能得到完整的图像形式滚动视图,但只有一半,一半是黑色的iOS滚动视图截图

+0

请设置scrollview的内容。 'scrollView.contentSize = CGSizeMake(SCROLLVIEW_WIDTH,SCROLLVIEW_HEIGHT);' – shahnilay86

+0

应该在哪设置? 'scrollview.frame'下面的 – sky

+0

。 – shahnilay86

编辑

尝试添加

drawHierarchy(in: self.bounds, afterScreenUpdates: true) 

后线

[scrollView.layer renderInContext: UIGraphicsGetCurrentContext()]; 
+0

对不起,我无法知道“scrollViewSubview”的含义。那么你能再说一遍吗? – sky

+0

是您的滚动视图包含子视图,它是相同大小的内容大小? –

+0

@sky看到这个https://*.com/a/28343200/4601900 –