2016-11-20 14 views
1

サーバから.svg urlsを取得しています。私はどのように私のアプリで画像としてそれを表示することができます。 UIWebViewで表示しようとしましたが、コンテンツイメージのサイズを変更できません。私はこのコードを使用していますiosアプリケーションで.svg urlを画像として表示するには

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

解決策は、Webビューのスクロールビューのスケールプロパティをその境界に合わせて修正することです。

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

を –

関連する問題