ステータスバーを含んだ画面サイズ
[[UIScreen mainScreen] bounds].size.width //幅 [[UIScreen mainScreen] bounds].size.height //高さ
ステータスバーを除いた画面サイズ
[[UIScreen mainScreen] applicationFrame].size.width //幅 [[UIScreen mainScreen] applicationFrame].size.height //高さ
確認プログラム
コメントアウトの(A)はステータスバーを隠す処理、(B)はステータスバーをランドスケープ(横向き)にする処理です。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //(A)ステータスバーを隠す //[UIApplication sharedApplication].statusBarHidden = YES; //(B)ステータスバーをランドスケープにする //[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft]; //ステータスバーを含んだ画面サイズ CGRect bounds = [[UIScreen mainScreen] bounds]; NSLog(@"bounds width:%.f height:%.f", bounds.size.width, bounds.size.height); //ステータスバーを覗いた画面サイズ CGRect aFrame = [[UIScreen mainScreen] applicationFrame]; NSLog(@"aFrame width:%.f height:%.f", aFrame.size.width, aFrame.size.height); return YES; }
実行結果
iPhoneシミュレータでコメントアウトの条件を変えて実行しました。ステータスバーの高さは20ポイントなので、applicationFrameではそれが差し引かれた値となりました。
そのまま実行
bounds width:320 height:480 aFrame width:320 height:460
(A)の処理をコメントアウト
bounds width:320 height:480 aFrame width:320 height:480
(B)の処理をコメントアウト
bounds width:320 height:480 aFrame width:300 height:480
(A)と(B)の処理をコメントアウト
bounds width:320 height:480 aFrame width:320 height:480
0 件のコメント:
コメントを投稿