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

     2023-03-16     150

关键词:

【中文标题】如何在不向用户显示视图的情况下捕获整个滚动视图的图片【英文标题】:How to capture pictures of the whole scroll view without showing the view to the user 【发布时间】:2019-02-27 12:08:45 【问题描述】:

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

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

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

【问题讨论】:

可能相关:***.com/questions/3539717/…. 【参考方案1】:

您可以在滚动视图中渲染视图并获得UIImage

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

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

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

【讨论】:

你不应该将大小设置为与 contentView 相同的大小,因为内容可能大于视图大小 抱歉更新代码,忘记更改那部分。谢谢 如何在不向用户呈现视图的情况下执行此操作?如果我确实隐藏了视图,则会发生此 UIGraphicsGetCurrentContext 的崩溃。 @akshaytule 这里是一个相关的问题,***.com/questions/11061850/…,我希望它能回答你的问题。在接受的解决方案中,该人说您可以从超级视图中删除而不是隐藏。

如何在不重绘整个视图的情况下更新 NSView 的一部分

】如何在不重绘整个视图的情况下更新NSView的一部分【英文标题】:HowtoupdateasectionofanNSViewwithoutredrawingthewholeview【发布时间】:2009-12-2313:35:42【问题描述】:我有一个NSView,我在其中绘制了数千个NSBezierPath。我想在mousemoved事件... 查看详情

如何在不滚动选择器视图的情况下选择当前时间

】如何在不滚动选择器视图的情况下选择当前时间【英文标题】:howtoSelectcurrenttimewithoutscrollingpickerview【发布时间】:2021-12-2611:45:55【问题描述】:如果不滚动选择器视图,我无法选择当前时间。我正在这样做-:@objcfuncdateChanged... 查看详情

如何在不向它们提供 ID 的情况下更改按钮单击时 textview 的可见性?

】如何在不向它们提供ID的情况下更改按钮单击时textview的可见性?【英文标题】:HowtochangevisibilityoftextviewonbuttonclickwithoutprovidingIDtothem?【发布时间】:2021-09-2715:55:48【问题描述】:在此我需要知道如何在不向他们提供ID的情况下... 查看详情

如何在不向用户显示堆栈跟踪的情况下处理 servlet 过滤器中的错误状态?

】如何在不向用户显示堆栈跟踪的情况下处理servlet过滤器中的错误状态?【英文标题】:HowdoIhandleerrorstatesinservletfilterswithoutshowingtheuserastacktrace?【发布时间】:2013-01-2418:52:26【问题描述】:我正在开发一个Jetty/RESTEasy应用程序。... 查看详情

Angular 2:如何在不向用户显示标签的情况下从 JSON 响应呈现 HTML? [复制]

】Angular2:如何在不向用户显示标签的情况下从JSON响应呈现HTML?[复制]【英文标题】:Angular2:HowdoyourenderHTMLfromaJSONresponsewithoutdisplayingthetagstotheuser?[duplicate]【发布时间】:2016-04-2810:09:06【问题描述】:编辑:澄清一下,我的问题... 查看详情

如何在不像 Whatsapp 那样遮挡整个屏幕的情况下禁用表格视图?

】如何在不像Whatsapp那样遮挡整个屏幕的情况下禁用表格视图?【英文标题】:HowdoIdisableatableviewwithoutobscuringtheentirescreenlikeinWhatsapp?【发布时间】:2018-05-0314:16:37【问题描述】:如何禁用表格视图而不像在Whatsapp中那样遮挡整个... 查看详情

如何在不更改整个文本视图颜色的情况下更改文本颜色

】如何在不更改整个文本视图颜色的情况下更改文本颜色【英文标题】:howtochangetextcolorwithoutchangingthethewholetextviewcolor【发布时间】:2019-04-2005:26:54【问题描述】:我试图通过简单地单击按钮来更改文本颜色,但是当我单击按钮... 查看详情

如何在不滚动的情况下直接降落在特定位置?

】如何在不滚动的情况下直接降落在特定位置?【英文标题】:Howtodirectlylandonspecificpositionwithoutscrolling?【发布时间】:2019-01-0710:02:04【问题描述】:如何在列表视图中打开特定位置?让我告诉我我的要求和我尝试了什么!这是... 查看详情

如何在不显示中间视图的情况下通过多个视图展开

】如何在不显示中间视图的情况下通过多个视图展开【英文标题】:Howtounwindthroughmultipleviewswithoutdisplayingintermediateviews【发布时间】:2014-11-0617:20:02【问题描述】:假设我们有三个视图控制器:1、2和3。使用情节提要,使用展开... 查看详情

如何让 UICollectionView 在不离开屏幕的情况下使用自动布局填充其包含滚动视图的宽度?

】如何让UICollectionView在不离开屏幕的情况下使用自动布局填充其包含滚动视图的宽度?【英文标题】:HowcanIgetaUICollectionViewtofillthewidthofitscontainingscrollviewwithAutoLayoutwithoutgoingoffthescreen?【发布时间】:2013-07-0520:00:42【问题描述】... 查看详情

在不使用导航控制器的情况下转到第二个视图时如何显示动画?

】在不使用导航控制器的情况下转到第二个视图时如何显示动画?【英文标题】:howshowanimationwhengoingtosecondviewwithoutusingnavigatecontroller?【发布时间】:2009-12-2503:06:22【问题描述】:在我的测试应用程序(即时学习)中,我有2个视... 查看详情

在不显示提示信息的情况下,如何获取用户当前位置的经纬度

】在不显示提示信息的情况下,如何获取用户当前位置的经纬度【英文标题】:withoutdisplayingthealertmessage,howtogettheusercurrentlocatationlatitudeandlongitude【发布时间】:2013-08-2412:54:33【问题描述】:我的客户要求在显示用户当前位置以... 查看详情

如何在不使用列表视图的情况下将 Textview、微调器、按钮动态添加到布局中,并且布局应该在滚动视图中

】如何在不使用列表视图的情况下将Textview、微调器、按钮动态添加到布局中,并且布局应该在滚动视图中【英文标题】:HowtoaddTextview,spinner,buttondynamicallytolayoutwithoutusinglistviewandlayoutshouldbeinscrollview【发布时间】:2016-02-2110:49:27... 查看详情

SwiftUI,如何在不重新创建视图的情况下切换到视图?

】SwiftUI,如何在不重新创建视图的情况下切换到视图?【英文标题】:SwiftUI,howtoswitchtoaviewwithoutrecreatingit?【发布时间】:2021-01-1211:38:34【问题描述】:我的应用程序中有几个不同的视图,用户可以在它们之间切换。其中一个视... 查看详情

Java/Android:如何在不切断边缘视图的情况下显示一系列图像视图?

】Java/Android:如何在不切断边缘视图的情况下显示一系列图像视图?【英文标题】:Java/Android:HowtodisplayseriesofimageViewswithoutcuttingoffedgeviews?【发布时间】:2021-03-2817:57:33【问题描述】:我正在尝试以可重复使用的布局显示一系列4... 查看详情

在不锁定 UI 的情况下禁用滚动视图

】在不锁定UI的情况下禁用滚动视图【英文标题】:disablescrollviewwithoutlockingtheUI【发布时间】:2013-02-2815:50:25【问题描述】:我有一个包含(以及其他控件)UIScrollview的应用程序。在某些时候我需要禁用滚动视图上的滚动,但我... 查看详情

Rails - 如何在不更改页面和更新视图的情况下提交表单?

】Rails-如何在不更改页面和更新视图的情况下提交表单?【英文标题】:Rails-Howtosubmitaformwithoutchangingthepageandupdatingtheview?【发布时间】:2021-08-1512:25:24【问题描述】:大家好!我正在使用rails并且在我希望用户执行的步骤中(在... 查看详情

在不使用图像的情况下滚动滚动视图时,应用程序崩溃并在 ARC 中收到内存异常

】在不使用图像的情况下滚动滚动视图时,应用程序崩溃并在ARC中收到内存异常【英文标题】:AppcrasheswithreceivedmemoryExceptioninARCwhilescrollingthescrollviewwithoutusingimages【发布时间】:2016-01-1907:03:00【问题描述】:我正在使用UIScrollview... 查看详情