iOS 8 Swift UIWebView 内容大小

iOS 8 Swift UIWebView content size

我有一个 UIPageViewController UIWebViews 呈现 .pdf 作为内容。 UIWebView(内容)被缩放以适合框架宽度。有些 PDF 有双倍宽度,所以我尝试增加 WebView 的框架宽度

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    var frame = self.mPageWebview.frame;
    frame.origin.x = 0;
    frame.origin.y = 0;

    if(frame.size.width > self.view.frame.size.width) {
        frame.size.width = self.view.frame.size.width * 2
        frame.size.height = self.view.frame.size.height
    }

    self.mPageWebview.frame = frame
}

对于渲染,它按预期工作(框架仅显示 PDF 的左半部分)但向右滚动不起作用。谁能帮我解决这个问题?

要使滚动视图滚动,内容视图必须大于滚动视图的大小。因此,当您说您将内容视图的宽度缩放为等于框架的宽度时,它不会水平滚动,因为宽度相同。

等到内容加载完毕,然后检查其大小并使其适合视图,只要内容大于视图,它就会滚动。

func webViewDidFinishLoad(webView: UIWebView) {

    // Set webView frame to content size. 
    self.webViewHeightConstraint.constant = webView.scrollView.contentSize.height

}