Upload
masayuki-nii
View
156
Download
1
Embed Size (px)
Citation preview
ストーリーボードとセグウェイ
Masayuki Nii Cocoa勉強会 関東第50回
本来の意味は?
cf. Segway
Demo!
Application Delegateクラス
UIApplicationDelegateをインプリメント • NSObjectでなく、UIResponderを基底クラスにしてもいい UIWindow *windowプロパティを定義 • 以下の方法で生成されたオブジェクトを保持するためにプロパティが必要
main.mのUIApplicationMainの4つ目の引数 • アプリケーションのデリゲートクラス名を指定 • UIWindowが自動的に生成されて表示される • ストーリーボードではUIWindowのオブジェクトを明示的に定義しないので、この方法で用意するのがいちばんお手軽
ビューコントローラへのアクセス
アプリケーションデリゲートクラス • windowプロパティのrootViewControllerプロパティ • それがナビゲーションコントロール • topViewControllerプロパティやviewControllersプロパティから各ビューコントローラが得られる
ビューコントローラの内部 • self.navigationControllerで、ナビゲーションコントローラへの参照が得られる
テーブルビューの自動遷移
セルのプロパティ • StyleをCustom以外にする • Identifierを指定する セルの生成 • UITableViewのdequeueReusableCellWithIdentifier:メソッドのみを使って生成する • 引数は、セルに指定したIdentifierを指定する 自動遷移をしない場合 • tableView:didSelectRowAtIndexPath:メソッドあたり • [self performSegueWithIdentifier: @"ToDetail" sender: self]; • 引数はセグウェのIdentifier(ストーリーボード上で指定する)
ストーリーボドで何が違うか
説明の難しいMainWindow.xibが不要 • File's Ownerは登場しない • アプリケーションのデリゲートも登場しない 複数のビューコントローラをまとめて定義可能 • NIBファイルが分散しない 遷移に関しても定義できる
参考文献
Converting to Storyboards Release Notes • http://developer.apple.com/library/ios/#releasenotes/Miscellaneous/RN-AdoptingStoryboards/_index.html