2016-08-13 8 views
2

Xcodeプロジェクトにイメージを含むHTMLファイルがインポートされています。イメージはプロジェクトフォルダ内にもありますが、UIWebViewでHTMLファイルを読み込もうとするとイメージはロードされません。ここで間違って起こっているHTMLイメージがUIWebViewにロードされない理由

var htmlFile = NSBundle.mainBundle().pathForResource("Travel", ofType: "html") 
var htmlString = try? String(contentsOfFile: htmlFile!, encoding: NSUTF8StringEncoding) 
weeb.loadHTMLString(htmlString!, baseURL: nil) 

<!DOCTYPE html> 
<html> 
<body> 
<img src="background.png"/> 
</body> 
</html> 

そして、ここでHTMLファイルをロードするための私のスウィフトコードです:

これは私のHTMLファイルがありますか?ありがとうございました。

+0

最初に質問する必要があるのは、HTMLページを使用して画像を表示している理由です。あなたは 'UIImageView'の使用を検討しましたか? – Harsh

+0

HMTLを使用しているのは、ビューに画像付きの長いテキストを追加する必要があるためです。 – user3882720

答えて

3

私は同じ問題を持っていたに でビューにHTMLをロードする必要があります。ここに私の解決策はあります

例えばhtmlのような1つのフォルダーを作成し、すべてのhtmlファイルをあなたのイメージおよび他のリソースと共に入れてください。そのhtmlフォルダをxcodeプロジェクトにドラッグドロップします。 xcodeはその時点でコピーを要求します。オプション "フォルダ参照の作成"を選択して終了します。スクリーンショットを確認してください。

enter image description here

だからあなたのフォルダ構造は次のようになります。

enter image description here

HTMLファイルは、このHTMLがあなたのWebViewは以下のコードを使用してファイルをロードするには

<!DOCTYPE html> 
<html> 
    <body> 
     <img src="back.png"/> 
    </body> 
</html> 

になります。

let bundlePath = NSBundle.mainBundle().bundlePath 
    let htmlFile = "\(bundlePath)/html/sample.html" 

    let fileURL = NSURL(fileURLWithPath: htmlFile) 
    webview.loadRequest(NSURLRequest(URL: fileURL)) 
+0

それは働いている!あなたの答えをありがとう。 – user3882720

1

私はあなたの男は、相対パスまたはファイルの使用

言い、次の記事で答えを持っていると思う:画像を参照するパスはのUIWebViewで 動作しません。代わりに、あなたは正しいベースURL

Using HTML and Local Images Within UIWebView

+0

ありがとうございます。私は、関連する投稿と迅速に同じコード構造を持ち、動作していないと思います。 – user3882720

関連する問題