2009年12月4日金曜日

hidesBottomBarWhenPushed は viewDidLoad で呼んだら遅い。

UIViewController の hidesBottomBarWhenPushed というプロパティは、navigationController の Push機能で画面遷移した時に、画面下部のタブバーであったり、ツールバーであったりを隠すかどうかという設定を出来るプロパティ。UIViewController.tabBarController.tabBar というプロパティに変換をかけて、無理矢理この効果と同様の効果を作る事も出来るけど、デメテルの掟に反しているし、非常に煩雑になる事は目に見えているので、出来れば、ちゃんとこのプロパティを使いたいところ。しかし、このプロパティは他の多くの UIViewController のプロパティと違って、viewDidLoad メソッドの中で呼んでも効果が出ない。で、どうすれば良いかというと、単に init系のメソッドの中で設定しておけば、期待した効果が得られる模様。(たとえば、-initWithNibName:bundle: など)



参考したつぶやき:
http://favotter.matope.com/status.php?id=4000286651


UIViewController.hidesBottomBarWhenPushed はナビゲーションにプッシュする前に設定しておかないと効果ないんだなぁ。自分の viewDidLoad で設定してもダメ。考えて見りゃそうかもしれないけど、最初分からなかった。

0 件のコメント:

コメントを投稿