Browser

初めてのRubyMotionアプリ:超シンプルなWeb Browser

English Version

ようやく自分で何か作ってみる。

文字表示するだけ、とかつまらないのでWebViewを使ったシンプルなウェブブラウザを作ってみよう。

完成品はこんなの。

では、さっそく。

プロジェクトの作成


まずはプロジェクトを作成して動かしてみるところまで。

うん、特に何も問題ないですね。

真っ白なViewController


お次は、カスタムViewControllerを作って背景を白にするところまで。
ViewControllerを直接RootViewControllerにはせず、NavigationControllerでWrapします。(NavigationBarを使いたいだけ)

AppDelegateはこんな感じ。

BrowserViewControllerは背景色の設定のみ。

ToolbarとNavigationBarを表示


ナビゲーションバーはデフォルトで出ているはずなのでツールバーのHiddenをfalseにすればOK。

BrowserViewControllerのviewDidLoadでやります。

WebViewでGoogleを読み込む


UIWebViewを追加。loadRequestというメソッドを定義してGoogleを読み込んでみます。
delegateはselfにしておきます。

OKですね。

ロケーションバー


URL入力欄をつくります。

NavigationBarにテキスト欄を表示させる | nk-z.memo を参考にNavigationBarに埋め込みました。
Enterされた時にloadRequestを実行するため、selfをdelegateに設定し、textFieldShouldReturnメソッドを定義しています。
(以下のコード内のViewDidLoadは抜粋)

進む、戻る、更新、中止


ツールバーにそれぞれのボタンを追加し、対応するWebVIewのメソッドをアクションに設定します。
ViewDidLoadに以下を追加。

参考
ツールバーのボタン (UIBarButtonItem) の隠し API – 24/7 twenty-four seven

最後に微調整


ローディング中にIndicatorを表示したり、ボタンを押せる時だけ有効にしたりします。
BrowserViewControllerで以下のようなWebViewのDelegateメソッドを追加すればOK。

参考
UIWebView下で、UIButtonの活性/不活性にする: iPhoneアプリ開発備忘録

おしまい


ちょっと眠くてやっつけ感がでましたが、思ったよりはまらず動きました。
(IBじゃなく)コーディングベースでiOS開発したことある人なら、難なくいけるでしょう。

ただ、この程度だとXCodeの方がはるかにお手軽ですねー。
テキストとか配列とか日付とかバリバリ処理するようなアプリになるとRubyのメリットが生きてくるのかな?

ソースはGitHubで公開しています。
RubyMotionApps/Browser at master · tnantoka/RubyMotionApps · GitHub

しばらくはいじるので、サンプルは適宜追加されるはずです。

 

 Scroll to top