9
ストーリーボードとセグウェイ Masayuki Nii Cocoa勉強会 関東第50回

Cocoa勉強会#50-ストーリーボードとセグウェイ

Embed Size (px)

Citation preview

Page 1: Cocoa勉強会#50-ストーリーボードとセグウェイ

ストーリーボードとセグウェイ

Masayuki Nii Cocoa勉強会 関東第50回

Page 2: Cocoa勉強会#50-ストーリーボードとセグウェイ

本来の意味は?

cf. Segway

Page 3: Cocoa勉強会#50-ストーリーボードとセグウェイ
Page 4: Cocoa勉強会#50-ストーリーボードとセグウェイ

Demo!

Page 5: Cocoa勉強会#50-ストーリーボードとセグウェイ

Application Delegateクラス

UIApplicationDelegateをインプリメント • NSObjectでなく、UIResponderを基底クラスにしてもいい UIWindow *windowプロパティを定義 • 以下の方法で生成されたオブジェクトを保持するためにプロパティが必要

main.mのUIApplicationMainの4つ目の引数 • アプリケーションのデリゲートクラス名を指定 • UIWindowが自動的に生成されて表示される • ストーリーボードではUIWindowのオブジェクトを明示的に定義しないので、この方法で用意するのがいちばんお手軽

Page 6: Cocoa勉強会#50-ストーリーボードとセグウェイ

ビューコントローラへのアクセス

アプリケーションデリゲートクラス • windowプロパティのrootViewControllerプロパティ • それがナビゲーションコントロール • topViewControllerプロパティやviewControllersプロパティから各ビューコントローラが得られる

ビューコントローラの内部 • self.navigationControllerで、ナビゲーションコントローラへの参照が得られる

Page 7: Cocoa勉強会#50-ストーリーボードとセグウェイ

テーブルビューの自動遷移

セルのプロパティ • StyleをCustom以外にする • Identifierを指定する セルの生成 • UITableViewのdequeueReusableCellWithIdentifier:メソッドのみを使って生成する • 引数は、セルに指定したIdentifierを指定する 自動遷移をしない場合 • tableView:didSelectRowAtIndexPath:メソッドあたり • [self performSegueWithIdentifier: @"ToDetail" sender: self]; • 引数はセグウェのIdentifier(ストーリーボード上で指定する)

Page 8: Cocoa勉強会#50-ストーリーボードとセグウェイ

ストーリーボドで何が違うか

説明の難しいMainWindow.xibが不要 • File's Ownerは登場しない • アプリケーションのデリゲートも登場しない 複数のビューコントローラをまとめて定義可能 • NIBファイルが分散しない 遷移に関しても定義できる

Page 9: Cocoa勉強会#50-ストーリーボードとセグウェイ

参考文献

Converting to Storyboards Release Notes • http://developer.apple.com/library/ios/#releasenotes/Miscellaneous/RN-AdoptingStoryboards/_index.html