【问题标题】:Swift Programmatically zoom out of UIWebViewSwift 以编程方式缩小 UIWebView
【发布时间】:2015-04-02 15:20:48
【问题描述】:

我有一个 UISplitViewController,其中 DetailViewController 包含一个 UIWebView。在 SplitViewController 中,我有以下行

self.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible

这使我可以始终在较大的设备中显示主视图和详细视图。我遇到的问题是当我在详细视图中打开 UIWebView 时,WebView 的内容没有缩放以适应 UIWebView 的宽度。我必须缩小以适应宽度。我想知道如何自动缩小?

在我的 WebViewController 的 viewDidLoad 中,我有:

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

我看到您可以使用 webView.scrollView.zoomToRect 进行放大。但是在我看来是为了放大。有没有类似缩小的命令?

【问题讨论】:

    标签: swift uiwebview uiscrollview ios8


    【解决方案1】:

    尝试在 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 
    

    【讨论】:

    • 谢谢。那确实解决了问题。我确实必须将它放在 if(!webView.loading) 语句中,因为 webViewDidFinishLoad 被多次调用。
    猜你喜欢
    • 1970-01-01
    • 2011-03-26
    • 2011-05-21
    • 1970-01-01
    • 2012-09-17
    • 2013-09-23
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    相关资源
    最近更新 更多