modalによる画面遷移2

modalによる画面遷移2

要件

iPhoneアプリを作成する際に、既存のWEBサービスから情報を取得したい場合があるとします。
iPhoneアプリから外部アプリであるSafariを開けば事足りるのですが、この場合、元のアプリに戻るのが面倒です。

というわけでSafariを起動しないでアプリ内でWEBサイトを閲覧したい。

仕様

UIWebViewを使えばWebKitの機能をアプリに組み込む事ができるので、これを使ってmodalで表示したViewにWEBページをレンダリングします。

作戦

UINavigationControllerに一つだけViewControllerを追加します。
そうすると画面上部にNavigationBarが表示されます。

この画面をmodalにします。NavigationBarに戻るボタンを追加し、そのボタンを押すとdismissModalViewControllerAnimatedが実行されるようにします。

このやり方がスマートかどうかは不明ですが、とりあえずこのように実装しました。

解説

UINavigationControllerの挙動を確認したかったのでNavigationControllerという紛らわしいネーミングで継承したクラスを作成しています。
内部では単純にLOG_METHODを実行しているだけです。

おまけ

今日のモテ曲*1

Tell me how you feel

http://www.youtube.com/watch?v=aqqXtIwdIu8

お願い。買って。

テル・ミー・ハウ・ユー・フィール

*1:効用には個人差があります。ご注意下さい