我正在尝试在我的应用上编写“网页选择器”,使用精美的轮播来显示网页缩略图。
但是,我不希望在我的轮播上显示网页缩略图作为webViews,因为我可以同时获得相当多的(20-30)网页,并且加载所有这些都会导致很多延迟。
因此,我决定使用网页的屏幕截图并使用这些图像来填充我的轮播,使旋转木马动画更加顺畅。
这是我的问题:我想知道是否有任何方法可以截取网页的截图(不在应用程序屏幕上显示)并将图像保存到我可以用来填充轮播的列表中。
我知道this question,但这是一个很老的帖子,所以我想知道是否有另一种方法来做到这一点。此外,我试图实施建议的解决方案,但它没有奏效。
您可以创建一个位于视图控制器后面(因此不可见)的WKWebView,并将其约束到您想要的大小。页面完成加载后,使用drawHierarchy(in:afterScreenUpdates:)中的UIGraphicsImageRender拍摄快照,并将生成的图像保存为缩略图。