2008-10-27
ステータスバーを隠す
一般 |
ステータスバー - iPhoneのスクリーンの一番上の時刻や電波の強さがでているバー
ゲームなどでフルスクリーンが必要な場合、このステータスバーを消すことになるかと思います。ステータスバーを消すのは簡単。
[UIApplication sharedApplication].statusBarHidden = YES;
m19さんに教えていただきました。Info.plistを編集することでも同様の効果を実現できます。BooleanのUIStatusBarHiddenというキーを追加して、チェックボックスをチェックしてあげてください。こちらの場合は、アプリが起動した時点でビューがロードされる前にStatusバーが消えています。
あとは、フルスクリーンにしたいviewのサイズをスクリーンのサイズに合わせてあげればいいはず。
fullscreenView.bounds = [UIScreen mainScreen].bounds;
ただ、これだとなぜかこんな風になってしまいます。空白ができるのはなんででしょう? 不思議?
[UIScreen mainScreen].boundsのサイズは(320, 480)です。仕方ないので、これを無理矢理 (320, 500)にするとViewは埋まってくれるのですが... なんだか釈然としませんね。どなたか分かる方がいらっしゃったらぜひ教えてください。
fullscreenView.bounds = CGRectMake(0,0,320,500);

だとどうでしょうか?
[UIScreen mainScreen].boundsのサイズが、0,0,320,480)なんですよ。
fullscreenView.frame = CGRectMake(0,0,320,480);だと、空白ができてしまいます。
>m19さん
なるほど! ありがとうございます。
多分 frame.size.height が 460 になっているのではないでしょうか。
frame = bounds = CGRectMake(0, 0, 320, 480) にすればちゃんと全体が埋まって、イベントも取れると思います。
fullscreenView.frame = [UIScreen mainScreen].bounds;
fullscreenView.bounds = [UIScreen mainScreen].bounds;
と書けばいいだけかと。