NimbusのNIWebControllerでサクッとWebページを表示する
アプリのメイン機能じゃないんだけど、Webページをちょっとだけ表示したい時が結構あります。ライセンス画面とか、ちょっとした説明画面とか。
そんな手間でもないので、WebViewだけ貼ったViewControllerを自作してもいいんですが、
というかしてたんですが、毎回「- (void)webViewDidStartLoad:」とか書くのも、いい加減飽きてました。
そこで思い出したのが、NimbusKit。Web表示用のコンポーネントがあった気がするので、それを使って見ることにします。
Googleも使ってるぐらいだから保守は続けられるでしょうしね。
で、「Nimbusを使おう」みたいな記事はいくつかあったんですが、WebControllerだけ使うという日本語情報が見当たらなかったので、書いておきます。
インストール(CocoaPods)
subspecが用意されてるので、WebControllerだけ指定できます。
1 2 |
$ echo "pod 'Nimbus/WebController'" > Podfile $ pod install |
CocoaPodsを使わない手順はやるのも書くのも面倒なので省略します。
まだ使ってないという人は是非導入を検討してください。
僕も「Xcodeのworkspace機能が好きじゃない」というしょうもない理由で長らく使ってませんでしたが、完全に間違いでした。
ライブラリのインストールはもちろん、アップデート(AdMobとか頻繁にやんなきゃですよね…)もかなり楽になります。
コード
あとはこんな感じのコードを書けばOKです。
1 2 3 4 |
#import "NimbusWebController.h" NIWebController *webController = [[NIWebController alloc] initWithURL:[NSURL URLWithString:@"http://google.com"]]; [self.navigationController pushViewController:webController animated:YES]; |
これだけで、上の画像のような、
- タイトル・ローディング表示
- 進む
- 戻る
- 中止・更新
- アクション(Safariで開く・URLコピー)
という最低限の機能のついた内部ブラウザが表示ができます。
簡単でいいですね!
アクションボタンには独自処理の追加も可能です。
詳細な使い方については、公式のドキュメント・ソースが参考になります。
Nimbus: Nimbus Web Controller
nimbus/examples/catalog/Catalog/CatalogViewController.m at master · jverkoey/nimbus
nimbus/examples/catalog/Catalog/ExtraActionsWebViewController.m at master · jverkoey/nimbus
それでは。
最近のコメント