Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ios应用程序中将.svg url显示为图像_Ios_Swift - Fatal编程技术网

如何在ios应用程序中将.svg url显示为图像

如何在ios应用程序中将.svg url显示为图像,ios,swift,Ios,Swift,我正在从服务器获取.svg URL。如何在我的应用程序中将其显示为图像。我试图在UIWebView中显示它,但无法调整内容图像的大小。我正在使用这个代码 let request: NSURLRequest = NSURLRequest(url: URL(string: "https://upload.wikimedia.org/wikipedia/en/c/c3/Flag_of_France.svg")!) webView.scalesPageToFit = true w

我正在从服务器获取.svg URL。如何在我的应用程序中将其显示为图像。我试图在UIWebView中显示它,但无法调整内容图像的大小。我正在使用这个代码

    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)
我的问题是什么

解决方案是更正web视图的滚动视图比例属性以适应其边界

因此,在swift中,您可以这样做:

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
    }

}

请让我知道这是否有帮助