2016-11-20 127 views
1

我从服务器获取.svg网址。我怎样才能在我的应用程序中显示它为图像。我试图在UIWebView中显示它,但我无法调整内容图像的大小。我正在使用此代码如何在iOS应用程序中将.svg网址显示为图像

let request: NSURLRequest = NSURLRequest(url: URL(string: "https://upload.wikimedia.org/wikipedia/en/c/c3/Flag_of_France.svg")!) 
    webView.scalesPageToFit = true 
    webView.contentMode = .scaleAspectFit 
    webView.loadRequest(request as URLRequest) 

我的问题是什么。

回答

1

解决方法是纠正网页视图的滚动视图缩放属性以适合其边界。

http://yberdnikov.github.io/2014/06/18/uiwebview-and-svg-images-scaling/

所以迅速,你会做这样的事情:

import UIKit 

// make sure to include the UIWebViewDelegate protocol 
class ViewController: UIViewController, UIWebViewDelegate { 

    @IBOutlet var webView : UIWebView? 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let request: NSURLRequest = NSURLRequest(url: URL(string: "https://upload.wikimedia.org/wikipedia/en/c/c3/Flag_of_France.svg")!) 

     // don't forget to set the webView's delegate to self 
     webView?.delegate = self 

     // disable scrolling 
     webView?.scrollView.isScrollEnabled = false 

     webView?.scalesPageToFit = true 
     webView?.contentMode = .scaleAspectFit 
     webView?.loadRequest(request as URLRequest) 

     // set webView's background color to clear, sometimes a black line appears at the bottom since the svg doesn't cover the entire view. 
     webView?.backgroundColor = UIColor.clear 
    } 

    // function from delegate protocol 
    func webViewDidFinishLoad(_ webView: UIWebView) { 
     let contentSize = webView.scrollView.contentSize 
     let webViewSize = webView.bounds.size 
     let scaleFactor = webViewSize.width/contentSize.width 

     // scale the svg appropriately 
     webView.scrollView.minimumZoomScale = scaleFactor 
     webView.scrollView.maximumZoomScale = scaleFactor 
     webView.scrollView.zoomScale = scaleFactor 
    } 

} 
+0

请让我知道,如果这有助于 –

相关问题