2011年2月27日日曜日

UINavigationControllerとかUIViewControllerのparentViewControllerとか

UIViewControllerを作って、UINavigationControllerのrootViewControllerとして初期化する。
そして、ViewControllerのview.frameをCGRectMakeでサイズを変更すると変更できない。
UINavigationControllerのview.frameをCGRectMakeでリサイズすると変更される。
やっぱNavigationControllerってView全体を入れ替えるための仕組みなんだなぁ。
単なるビューコントローラのサブクラスじゃないんだな。

UIViewControllerのプロパティにparentViewControllerというのがあり、
UINavigationControllerから初期化したときなど呼び出し元のコントローラがセットされる。
(initWithRootViewController:ほげほげなどとした場合。)

カスタムコントローラを親コントローラにしたいのだけど、このプロパティをセットする方法がなぜか見つからない。
とりあえず、親コントローラに設定したいコントローラのポインタを持たせる方法で回避。

0 件のコメント:

コメントを投稿