UIStoryboardを使ってみました

iOS5からの新機能。

xibファイルの代わりに参戦した、
UIStoryBoardをつかってみました。

まずはストーリーボードってなんだ?ってことで
以下Apple公式文書からの抜粋です。
iOSテクノロジーの概要

「ストーリーボード」

iOS 5で導入されたストーリーボードは、
アプリケーションのユーザインターフェイスを設計する方法として、
nibファイルに代わるものを推奨しています。nibファイルと違い、
ユーザインターフェイス全体を1箇所で設計できるので、
ビューやビューコントローラがすべて連携して動作する状況を確認できます。
ストーリーボードで重要なのは、
あるビューコントローラから別のビューコントローラへの滑らかな遷移(セグエ)を定義できることです。
アプリケーションはこの遷移を、Xcodeで視覚的に定義し、あるいはプログラム的に起こすことができます。
この遷移を見れば、ユーザインターフェイスの中身だけでなく、流れも把握できます。
ひとつのストーリーボードファイルに、アプリケーションのビューコントローラやビューをすべて格納することも、
あるいは複数のビューストーリーボードを使い、部分ごとに作成したインターフェイスを組み合わせることも可能です。
Xcodeは構築時に、ストーリーボードファイルの中身を分割します。
必要になった時点で個別にロードし、性能を改善できるようにするのが目的です。
ただし、アプリケーションがこの分割について意識する必要はありません。
UIKitフレームワークは、コードからストーリーボードの内容にアクセスするための、
コンビニエンスクラスを提供しています。
ストーリーボードを使ってインターフェイスを設計する手順については、『Xcode 4 User Guide』を参照してください。
コードからストーリーボードにアクセスする方法については、『UIStoryboard Class Reference』を参照してください。

との事ですが、、、
まとめると
ユーザーインターフェースを1ヶ所で管理できる(いっぱいxibファイルがいらなくなる)
・アニメーションする画面遷移をプログラムなしで作れる
・部分的に別のStoryBoardファイルと組み合わせもできる
・コードからもストーリーボードにアクセスできますよ
という感じです。

UIStoryBoardクラスリファレンス(英語)



まあなにはなくとも、使えばわかりますよね、ということで。
使ってみました。
プロジェクトはSingle View Applicationで作ります(以前のView-BasedApplicationにあたる)



プロダクト名はStory1にしてみました。
忘れずに「Use Storyboard」のチェックをいれましょう。



プロジェクトが作られたら、MainStoryboardというファイルを選択します。



こんな画面がでますが、ここで画面の配置をしていきたいので、
もっと小さくしときたいですね。



Storyboardでは画面右下に拡大縮小ボタンがついてます!
やさしい配慮ですね!これで縮小してみましょう。



小さくなりました!



StoryBoardでViewController間の遷移をしてみます。。


画面右下のObjectsからViewControllerを画面にD&D(ドラッグ&ドロップ)します。



こんな感じです。右側のViewControllerが追加したものです。



つぎは左側のViewにボタンをおいてみましょう。



つぎにControlキーを押しながらボタンをクリックし、ドラッグすると、
水色のコネクタがでてくるので、
右側のViewControllerに持っていってはなします。


するとこんなのが出てくるので、
Modalを選ぶ。



これでStoryboadのSegue(セグエ)と呼ばれるものが作成される。
さきほどのModalは画面遷移のトランジッションアニメーションの種類を表します。




あとは、画面の移動が分かりやすいように、
2番目の画面の色をかえておきましょう。

これでiPhoneシミュレータを実行すると、
ボタンを押した時に下から、2番目の画面がせり上がってきて画面遷移するはずです。
ただまだ元の画面に戻れません。

元の画面へ戻る方法は以下で試してみました。
UIStoryboardでmodalして戻る


こちらでも英語になりますが紹介されてチュートリアルがあります。
http://maniacdev.com/ios-5-sdk-tutorial-and-guide/xcode-4-storyboard/


お試しあれ〜。