2015-04-02 56 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