2015-04-02 70 views
2

我有一個UISplitViewController,其中DetailViewController包含一個UIWebView。在SplitViewController中,我有以下行Swift以編程方式縮小UIWebView

self.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible 

它允許我始終在更大的設備中始終顯示主和詳細視圖。我遇到的問題是當我在詳細視圖中打開UIWebView時,WebView的內容不會縮放以適合UIWebView的寬度。爲了適應寬度,我必須縮小。我想知道如何自動縮小?

在我WebViewController的viewDidLoad中我有:

webView.scalesPageToFit = true 
webView.contentMode = UIViewContentMode.ScaleAspectFit 

,我看你可以使用webView.scrollView.zoomToRect放大。但在我看來,這是放大。是否有類似於縮小的命令?

回答

10

嘗試將此添加到webViewDidFinishLoad方法中。

let contentSize:CGSize = theWebView.scrollView.contentSize 
let viewSize:CGSize = self.view.bounds.size 

let rw:float = viewSize.width/contentSize.width 

theWebView.scrollView.minimumZoomScale = rw 
theWebView.scrollView.maximumZoomScale = rw 
theWebView.scrollView.zoomScale = rw 
+0

謝謝。那確實解決了這個問題。我不得不把它放在if(!webView.loading)語句中,因爲webViewDidFinishLoad被多次調用。 – 2015-04-02 16:33:49