如何在不向用户显示视图的情况下捕获整个滚动视图的图片

时间:2019-02-27 12:08:46

标签: ios swift uiscrollview

我正在我的应用程序中实现打印功能,我想将其屏幕图像发送到打印机SDK。

我正在创建一个虚拟视图,在该视图上我有一个滚动视图,在此Scrollview上,我有一个列表,列出要打印的产品列表,并将其添加为子视图。由于列表很大,因此滚动视图的高度大于iPad的屏幕尺寸。

我想用整个列表(带有不可见和不可见产品的列表或UIScreen)捕获整个Scroll View的图片。另外,我不希望该视图对用户可见。一切都应该在后台发生。

1 个答案:

答案 0 :(得分:0)

您可以在滚动视图中呈现视图,并获得其中的UIImage

在视图viewInScrollView下的代码中,UIScrollView是子视图,并且所有元素都存在于该视图中。

UIGraphicsBeginImageContext(scrollView.contentSize)      
viewInScrollView.layer.renderInContext(UIGraphicsGetCurrentContext())
var myImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

myImage变量将具有整个scrollView的图像。