ios - 如何在不向用户显示视图的情况下捕获整个滚动视图的图片
问题描述
我正在我的应用程序中实现打印功能,我想将屏幕图片发送到打印机 SDK。
我正在创建一个虚拟视图,在该视图上我有一个滚动视图,在这个滚动视图上我有一个列表,列出了要打印的产品列表,添加为子视图。此滚动视图的高度大于 iPad 的屏幕尺寸,因为列表很大。
我想用整个列表(产品不可见和不可见或 UIScreen 的列表)捕获整个 Scroll View 的图片。另外,我不希望用户可以看到此视图。一切都应该在后台发生。
解决方案
您可以在滚动视图中渲染视图并获得其中UIImage
的一个。
在下面的代码中,视图viewInScrollView
是子视图,UIScrollView
并且所有元素都存在于该视图中。
UIGraphicsBeginImageContext(scrollView.contentSize)
viewInScrollView.layer.renderInContext(UIGraphicsGetCurrentContext())
var myImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
该myImage
变量将具有整体的图像scrollView
。
推荐阅读
- c++ - 如何在 Xcode 9.3 中显示 C++ 代码文档?
- java - 如何使长时间等待的线程运行
- r - R visNetwork:创建新类型的边
- node.js - comapare数组中的id并通过查找mongoDB获取值
- php - 接收错误的 POST 变量
- javascript - 如何在时间间隔后重复调用函数
- typescript - 如何构建material2可折叠菜单
- c# - 使用 XPath 在表中查找元素
- sonarqube - 通过 Web-API 的 Sonarqube 更新规则
- c# - MVC C# PagedList - PagedListPager 将 int 数组作为参数传递