iOSの画面サイズは取得にくい、特に特にステータスバーやツールバーの存在がやっかい。
//現在のビューのサイズ、ツールバーやステータスバーのサイズは引かれる //iPhone4でステータスバー、ナビゲーションバー、ステータスバーがあるとき、heightは480-20-44-44になる self.view.frame.size.width self.view.frame.size.height //現在の端末のスクリーンサイズ //iPhone4ではheight480、iPhone5ではheight568になる [[UIScreen mainScreen] bounds].size.width [[UIScreen mainScreen] bounds].size.height //現在の端末のスクリーンサイズでステータスバー領域を含む //iPhone4ではheight460、iPhone5ではheight548になる [[UIScreen mainScreen] mainScreen].size.width [[UIScreen mainScreen] mainScreen].size.height
問題になるのはナビゲーションバーを非表示のビューからpushしたビューで
viewDidLoadで
ナビゲーションバーを消しても
self.navigationController.navigationBarHidden = NO;
self.view.frame.size.heightは460になるということ
正確なサイズを知りたい時は
viewDidLoadでナビゲーションバーのON/OFFをして
viewDidAppearで座標を取得すること