相关疑难解决方法(0)

WKWebView无法在iOS 10中正确呈现

我在UITableViewCell里面有WKWebView.Web视图加载请求,然后在完成加载后,我将Web视图高度的大小调整为等于其内容高度,然后调整表视图单元格高度以相应地适应.

发生了什么是Web视图只显示适合屏幕大小的区域.当我向下滚动时,一切都是白色的.但是我看到以正确的高度呈现的Web视图,点击并按住Web视图上的白色区域仍然可以看到选择.使用缩放进行缩放可使屏幕上显示的Web视图区域可见,但其他区域有时会变为白色.

它在iOS 8和9上运行良好.我已经创建了一个示例项目来演示此行为:https: //github.com/pawin/strange-wkwebview

Open Radar:https://openradar.appspot.com/radar? id = 4944718286815232

更新:此问题已在iOS11中解决

wkwebview ios10

28
推荐指数
1
解决办法
9224
查看次数

WKWebView截图不能完全呈现整页高度

我正在尝试在WKWebView中捕获整页截图.发生的事情只是视口中可见的内容被渲染并且图像的其余部分呈现灰色.它具有正确的尺寸,只是没有从图像捕获中获取所有数据.

我尝试了几种方法,这个方法似乎最有希望:

extension WKWebView {

    // only captures part of the screen
    func screenCapture(size: CGSize) -> UIImage {
        var image: UIImage?
        // sets the scrollView to the height of it's content
        self.scrollView.bounds = CGRectMake(0, 0, size.width, size.height)

        UIGraphicsBeginImageContextWithOptions(size, true, 1.0)
        self.scrollView.drawViewHierarchyInRect(self.scrollView.bounds, afterScreenUpdates: true)
        image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        return image!
    }

}
Run Code Online (Sandbox Code Playgroud)

有没有人设法在iOS8 +中捕获WKWebView的完整屏幕截图?如果是这样,你的解决方案是什么?我在iOS9中遇到了同样的问题.

ios swift wkwebview

5
推荐指数
0
解决办法
936
查看次数

如何捕获WKWebview的整页截图?

我可以捕获所有内容的截图UIWebView通过调整帧UIScrollViewUIWebView.但是,我无法WKWebView通过相同的方法捕获所有内容的截图.

我用于捕获的方法UIWebView如下:

  1. 备份框架和超视图 webview.scrollView
  2. 创建一个新的容器视图作为webview.scrollView超级视图
  3. 调整新容器视图的框架和webview.scrollView.框架是相同的webview.scrollView.contentSize
  4. 通过renderInContext或绘制drawViewHierarchyInRect

但是,这种方法会捕捉到白色的截图WKWebview.它不起作用!

我打印了所有级别WKWebView,然后我发现UIView(WKContentView)的大小与contentView相同,你可以通过这个级别找到这个视图:

  • WKWebView
    • WKScrollView
      • WKContentView(大小与contentView相同)

我也试图捕获WKContentView,然后我发现只能捕获可见的视图.

无论如何,任何人都可以告诉我如何捕获整页内容的截图WKWebView

ios wkwebview

1
推荐指数
1
解决办法
4806
查看次数

标签 统计

wkwebview ×3

ios ×2

ios10 ×1

swift ×1