Xcode 4.2で追加された機能 特にStoryBoard
**StoryBoardはiOS5以上のiOS機器でしか動作しないようです。。。orz
なので、iOS5未満のiOS機器で動作させる必要がある場合には利用できません。
**
iOS5_、_iPhone 4Sが発表されて数週間が経過しました。
少しだけまとまった時間が確保できたのでiOS 5の新機能を調べたりXcode 4.2を弄っていると結構変わっていてびっくりしました。
その中でもXcode 4.2で追加されたStoryBoardがよさそうだったので説明してみようかと。
今まで、iOSのUI部分はIBで1画面づつ作って画面間の遷移はコードで書いて。。。
っとやっていましたが、このStoryBoardを使えば画面遷移の部分もIB側で設定することができるみたいです。
イメージとしては画面遷移図を書くような感じでIBで各画面を作って遷移方法を設定してっという流れです。
プロジェクトを新規で作った際に「Use StoryBoard」という設定が追加されています。
ちなみにプレフィックスを付けてくれる設定も追加されていました。AG~みたいにクラス名の前に好きなプレフィックスを追加してくれます。ただコレ、新規作成プロジェクトの際には最初にできるファイルにプレフィックスを付けてくれるんですけど、そのあとクラスを追加したときには自動的に付与されなかったんですね。。。あんまり意味ない気がする。
作成されたプロジェクトを見ると「MainStoryBoard.storyboard」というファイルがあります。
これを選択すると昔のIBと同じ様な画面が表示されます。
そしてここに右側ペインからViewControllerをドラッグして配置してみます。
矢印がついている方が最初に表示される画面になるのでそちら側にRound Rect Buttonを配置します。
配置したボタンからControlボタンを押しながらマウスでドラッグすると線が伸びるのでこれを先ほど配置したViewControllerに持って行って離します。
そうするとViewControllerを開く方法が「Push、Modal、Custom」と出てくるので今回はModalを選択してみます。
これだけでボタンを押したらモーダルビューが開くようになりました。(素晴らしい)※両画面とも白紙なのでこのままだとモーダルで開いている事がわかりにくいので自分で配置したViewController側にナビゲーションバーでも配置しておいてください。
ビルドして確認してみると正常に動作すると思います。
ここまでノーコーディングで出来るなんてXcodeも頑張ってるなっと。(←上から目線)
その他にもIBだけでテーブルビューの中身の作りこみが出来るようになったみたいです。
下図みたいな感じで。ただしここまでIB側で作り込むためにはUITableViewControllerじゃないとダメみたいです。(UIViewController+UITableViewじゃ表示されません。)
簡単な設定画面くらいならUI側をIBだけで作り込めるんじゃないかと。
IBを使うとUIの再利用性が悪かったりとiOS開発に慣れてくると色々と気になる所もありますが、GUIだけで色々できるのは初心者にも優しくて良いのではないかと。
あと、iOS5になってメモリ管理をコンパイラ?が良きに計らってくれて開発者が意識しなくてもよくなったみたいで、これも開発の敷居を下げたと思います。
その他にもiCloud、TwitterFreamworkとか色々と面白そうな機能が追加されたので色々と試してみようかと思います。