如何在ios应用程序中将.svg url显示为图像
我正在从服务器获取.svg URL。如何在我的应用程序中将其显示为图像。我试图在UIWebView中显示它,但无法调整内容图像的大小。我正在使用这个代码如何在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
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
}
}
请让我知道这是否有帮助