加载webviews并以编程方式拍摄快照以在collectionView中显示

时间:2017-01-11 16:46:31

标签: ios swift uiwebview uicollectionview

我目前正在加载collectionView WebViews这是好的,但效果不佳,例如广告经常会模糊webview的内容。我想要做的是以编程方式加载webview并拍摄快照,然后使用图像重新加载collectionView而不是WebViews本身?

  override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! ResultsCollectionViewCell

        if let url = Urls?[indexPath.row] {
            self.activityIN.stopAnimating()
            self.progressLabel.removeFromSuperview()
            cell.webView.loadRequest(URLRequest(url: url))
        }


        return cell
    }

1 个答案:

答案 0 :(得分:0)

  • 创建2个单元格 - 一个带有webview,另一个带有imageview
  • on reload决定是否仍然存在屏幕截图并显示带有imageview的单元格
  • webview中的
  • 使用自定义webview,在完成加载后保存快照,保存屏幕截图,将屏幕截图名称添加到Urls集合,然后删除webview并将其替换为imageview