[XCODE] HTML文字列を用いてUIWebViewに表示する方法
最近UIWebViewを使い始めた、@yoheiMuneです。
今日は、UIWebViewでURLからデータをロードするのではなく、NSStringでなどの文字列で保持している HTMLを使って、UIWebViewを表示する方法を記載したいと思います。
ありがたやーな感じです(*´∇`*)
以下がサンプルソースとなります。
または、もうちょい簡単に、以下のメソッドを使うことも出来ます。
上記の機能を用いると、事前にユーザーが表示する可能性の高いページのURLを知っていたら、 裏でロードしておく事も出来て、表示が早くなりそうです。
なお今回はbaseURLはnilにしましたが、HTML上にcssやJSファイルの読み込みが相対パスで書かれている場合には、 baseURLが必要となりますので、その際には設定して下さい。
UIWebView Class Reference
これからもたくさん便利に使っていきたいと思います。
ご参照頂きましてありがとうございました。
今日は、UIWebViewでURLからデータをロードするのではなく、NSStringでなどの文字列で保持している HTMLを使って、UIWebViewを表示する方法を記載したいと思います。
文字列のHTML内容を用いてUIWebViewを表示する
URLからロードするばっかりかと思いきや、UIWebViewにはちゃんとそーゆうメソッドが用意されていました。ありがたやーな感じです(*´∇`*)
以下がサンプルソースとなります。
// NSStringでHTMLの内容を保持している. NSString *html = @"<html≶<body≶ああああ</body≶</html≶"; // NSData型にNSStringから変換します。 NSData *bodyData = [html dataUsingEncoding:NSUTF8StringEncoding]; // UIWebViewの以下メソッドを用いて、データを読み込ませます。 [webView loadData:bodyData MIMEType:@"text/html"textEncodingName:@"utf-8"baseURL:nil];
または、もうちょい簡単に、以下のメソッドを使うことも出来ます。
[webView loadHTMLString:html baseURL:baseURL];
上記の機能を用いると、事前にユーザーが表示する可能性の高いページのURLを知っていたら、 裏でロードしておく事も出来て、表示が早くなりそうです。
なお今回はbaseURLはnilにしましたが、HTML上にcssやJSファイルの読み込みが相対パスで書かれている場合には、 baseURLが必要となりますので、その際には設定して下さい。
参考資料
今回は、以下のページを参照しました。更に詳しい情報などはこちらをご参照ください。UIWebView Class Reference
最後に
UIWebViewは、Safariよりも速度が遅いという評判から、あまり良くない印象を持っていましたが、 工夫次第では早く表示できるということが分かって良かったです(*´∇`*)これからもたくさん便利に使っていきたいと思います。
ご参照頂きましてありがとうございました。