次回のアプリは、google mapを使うアプリを考えていたのですが、その前に、pdfファイルを表示する方法について調査。
というか、そもそもpdfって表示できるのか?
という素朴な疑問がありました。
でちょっと調べてみると、意外なクラスによってpdfファイルを表示することができるみたいなのです。
それはなんと、
UIWebViewクラス
だったのです。(なんでまた、webViewクラスなの??)
理由を考えても仕方ないので先にすすみます。
UIWebViewで、簡単にドキュメントビューアが作れるというエントリーで知りました。
そこには、リファレンスのTechnical Q&A QA1630: Using UIWebView to display select document typesに、iPhoneがpdfも表示できるという風に解説してありましたが、実際に参照先を読んでみると確かに対応していました。
(しかも、ソースまであった。)
で、ちょっとプログラムを組んでみる事に
- (void)applicationDidFinishLaunching:(UIApplication *)application { NSURL *path = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"hoge.pdf" ofType:nil]]; NSURLRequest *urlrequest = [NSURLRequest requestWithURL:path]; UIWebView *webView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; webView.scalesPageToFit = YES; [webView loadRequest:urlrequest]; [window addSubview:webView]; [window makeKeyAndVisible]; |
実行結果はこんな感じになります。
うん、確かに表示されました。
しかも、ページもきちんと動くし、今、何ページ目にいるかも表示してくれます。
(画像は2ページ目までマウスで動かした時のもの)
ただ、ちょっと難点なのは、ページ数を指定して、そこをダイレクトに表示できないこと。
ここは、もう一つレイヤーの低いQuartzを使うしかないのかなと。
(サンプルソースもありました。)
うーーーん、表示はできたけど、まだ全然納得いかない。
0 コメント:
コメントを投稿