我正在尝试使用精美的轮播显示我的应用程序上的“网页选择器”代码,以显示网页缩略图。
但是,我不想在轮播上将网页缩略图显示为webView,因为我可以同时获得大量(20-30)的网页,而加载所有这些网页会导致很多滞后。
因此,我决定使用网页的屏幕截图,并使用这些图像填充我的轮播,从而使轮播动画更加流畅。
这是我的问题:
我想知道是否可以采取某种方式截取网页的屏幕截图(在应用程序屏幕上不显示)并将图像保存到列表中,以便我用来填充轮播。
我知道this question了,但是它是一个很老的帖子,所以我想知道是否还有另一种方法。另外,我尝试实施建议的解决方案,但是没有用。
最佳答案
您可以创建一个WKWebView,它位于视图控制器的后面(因此是不可见的)并被限制为所需的大小。页面加载完成后,在drawHierarchy(in:afterScreenUpdates:)内使用UIGraphicsImageRender拍摄快照,并将生成的图像保存为缩略图。