Pages

2011年10月28日金曜日

Xcode4.2 選べるプロジェクトの種類が変わってる

Xcode 4.2 使い始めていますが、いろいろと変わっているみたいですね。
とりあえずはドキュメントとか読まずに手探りで始める男なんで始めてみました。

新規プロジェクト作成・・・と。
おっ、新規プロジェクト作成の際に選べるプロジェクトの種類も変わってます。


選べるのは、
・Master-Detail Application
・OpenGL Game
・Page-Based Application
・Single View Application
・Tabbed Application
・Utility Application
・Empty Application
の7種類。

4.1のころと呼び名も変わっていますね。
多分、Single View Applicationってのは、View-based Applicationに相当するんでしょう。

目に付いたのは、Master-Detail ApplicationとPage-Based Application。
Navigation-based Applicationが無くなっているので、アイコンから推察するに
Master-Detail Applicationがそれに近そうですね。

なので、とりあえずMaster-Detail Applicationでプロジェクトを作ってみます。



Use Storyboardなる見慣れない項目が。
デフォルトでチェック入ってたし、新しいものなら、とにかく使ってみよう。
Use Automatic Reference Countingというのもありますが、
これについては別記事で書きます。

アイコンからの推察で多分、iPadではSplit Viewを使っているだろうから
iPhone、iPadどちらのパターンも見てみたいということでUniversal。

で、作ってみると、



.xibファイルが一つもない。
あるのは、MainStoryboard_iPhone.storyboardとMainStoryboard_iPad.storyboard。

これやな。そのStoryboardとかいうやつは・・・。
中身はこんなの。


InterfaceBuilderに3つのコントローラが出てきました。
UINavigationController、MasterViewController、DetailViewController
の3つがRelationshipというコネクタで接続されています。
これで画面遷移なんかを定義できるみたいです。
UINavigationControllerとMasterViewControllerのRelationshipは、
UINavigationControllerのrootViewControllerがMasterViewControllerである
と定義しているようなものでしょう。

そして、MasterViewControllerには、UITableView<が載っていて、
UITableViewCellが一つ定義されています。
InterfaceBuilderでセルも追加できるんですね。
このあたりも見慣れない雰囲気。また調べてみなくては。

このUITableViewCellとDetailViewControllerにもRelationshipが張られています。
RelationshipのStyleはPushとなっています。
UINavigationControllerにpushViewControllerするってことでしょうね。

他には、Modal、Customってのが選択肢としてありました。
Modalは、きっとpresentModalViewControllerでしょう。

このデフォルトのままで走らせると予想通りの動作をしています。

MasterViewControllerには、didSelectRowAtIndexPathなど
UITableViewのデリゲートメソッドは一切書かれておりませんでした。
このStoryboardの記述だけで、これだけ遷移が書けるんですね。

で、iPadの方はというと、こんな感じです。


やはり、UISplitViewControllerが使われているみたいです。

走らせてみました。


んっ?なんか思ってた動きと違うぞ。
UIPopoverViewControllerがぴょこっと出てくるだけ。
UISplitViewControllerとか使ったことないから、よくわからん。

iPadの方は、ちょっと調べてみる必要があるみたいですね。
直観的なイメージとはズレてました。

※このStoryboard使うと、iOS5でしか走らないのでご注意を!!

0 コメント:

コメントを投稿