viewDidLoadでUIView.Frame.Sizeは確定しない

同じシーケンスで機能を呼んでいるのに、表示されるビューの座標特に高さが変わるという、しつこいバグに悩まされていたのだが、極めて単純な原因だった。

それはログを採取することですぐに分かった。

[DEBUG] self.frame.size.width (viewDidLoad) -> 320.000000
[DEBUG] self.frame.size.height (viewDidLoad) -> 460.000000

[DEBUG] self.frame.size.width (viewWillAppear) -> 320.000000
[DEBUG] self.frame.size.height (viewWillAppear) -> 416.000000

viewDidLoadではまだUIView.Frame.Size、特にheightは確定していないということだ。
今考えるとこのバグが出始めたのはiOS6上でテストを始めた頃からだったが、なるほど納得。

こんなこと12/30にやる事じゃないよな。