2012/07/03更新

[XCODE] HTML文字列を用いてUIWebViewに表示する方法

このエントリーをはてなブックマークに追加            

最近UIWebViewを使い始めた、@yoheiMuneです。
今日は、UIWebViewでURLからデータをロードするのではなく、NSStringでなどの文字列で保持している HTMLを使って、UIWebViewを表示する方法を記載したいと思います。

UIWebView Loading From NSString



文字列の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よりも速度が遅いという評判から、あまり良くない印象を持っていましたが、 工夫次第では早く表示できるということが分かって良かったです(*´∇`*)
これからもたくさん便利に使っていきたいと思います。
ご参照頂きましてありがとうございました。






こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。