2015-04-21 85 views
0

我有一個UIPageViewControllerUIWebViews呈現.pdf作爲內容。 UIWebView(內容)被縮放以適合框架寬度。有些PDF文件具有雙倍寬度所以我試圖增加的WebViewiOS 8 Swift UIWebView內容大小

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的左半部分),但是向右滾動不起作用。誰能幫我這個?

回答

0

對於要滾動的滾動視圖,contentview必須大於滾動視圖的大小。所以,當你說你將contentview的寬度縮放到等於框架的寬度時,它將不會水平滾動,因爲寬度相同。

+0

我明白。當我添加self.mPageWebview.scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 3.0,self.view.frame.size.height)它的工作原理(確定後,垂直滾動將不工作,但我認爲那是相關的)。但是在縮放之後,內容寬度被重置。如何避免這種情況? – HappyCoder

0

等到內容已經加載,然後檢查它的大小和適合它的視圖,只要內容大於它將滾動的視圖。

func webViewDidFinishLoad(webView: UIWebView) { 

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

}