UITableViewは2つのデリゲートオブジェクトを使用する。
操作に反応するためのデリゲートはdelegateプロパティ、
プロトコルは<UITableViewDelegate>。
UITableViewの画面を作るためのデリゲートはdataSourceプロパティ、
プロトコルは<UITableViewDataSource>
UITableViewControllerは
delegate
DataSource
ViewController
の3つの役割を果たすことが出来る。
UITabBarControllerにUINavigationControllerを組み込むことは出来るが、
UINavigationControllerにUITabBarControllerを組み込むことは保証されていない。
タブの中にナビゲーションはOKで
ナビゲーションの中にタブは保証外ということだから、
tabはビューを司る最上位の概念というイメージかな?
UINavigationControllerにUITabBarControllerを組み込むことは保証されていない。
タブの中にナビゲーションはOKで
ナビゲーションの中にタブは保証外ということだから、
tabはビューを司る最上位の概念というイメージかな?
dismissModalViewControllerAnimated:はiOS6でdepreciated
dismissViewControllerAnimated:completion:を使うことが推奨
あとでもう少し調べてみよう。
dismissViewControllerAnimated:completion:を使うことが推奨
あとでもう少し調べてみよう。
UIViewControllerの役割の基本は
・必要になった時点(viewプロパティのゲッターが呼ばれた時点)でviewを作成し提供すること。
viewの作成と提供とは、-loadviewと-viewDidLoadを行うということ。
・メモリが足りなくなったときにviewが使われていなければviewを解放し、viewが占有していたメモリを明け渡す。→iOS6で変更?
・必要になった時点(viewプロパティのゲッターが呼ばれた時点)でviewを作成し提供すること。
viewの作成と提供とは、-loadviewと-viewDidLoadを行うということ。
・メモリが足りなくなったときにviewが使われていなければviewを解放し、viewが占有していたメモリを明け渡す。→iOS6で変更?
iOS6になってshouldAutrotateToInterfaceOrientationはDeprecatedになった。
そして、以下の2つのメソッドをオーバーライドすることによって
回転に対応できるようになる。
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
また、回転方向はinfo.plistに設定することになる。
そして、以下の2つのメソッドをオーバーライドすることによって
回転に対応できるようになる。
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
また、回転方向はinfo.plistに設定することになる。