月別アーカイブ: 2013年10月

iOSアプリがiOS7でステータスバーの下に回り込んでしまう

いつの間にかもうすっかり秋ですねぇ~☆しょうたんです。

皆さん、iOS7対応は捗ってますか?
しかし、iPhoneはiOSアプリやらブラウザやらネタが無尽蔵に出てきますね
そろそろネタも溜まってきましたw

今回はiOS7での仕様変更の中でも取り分け有名なステータスバーについて書きます。
内容としてはiOS7のステータスバー(画面上部のバー)は独立したレイヤーでかつ透過になってしまい、
これまでのiOSアプリはステータスバーの下に回り込んで、画面全体的に上にずれてしまうというものです。

もっともステータスバーごと非表示にしてしまうこともできます。

[UIApplication sharedApplication].statusBarHidden = YES;

しかし、ステータスバーを表示した上で画面の位置を調整したい際の処置とは、
やっぱりステータスバーの高さの分、アプリのビューを下にずらしてやることだったりします。(ですよね~)

ソースにするとこんな具合ですが↓

CGRect statusRect = [[UIApplication sharedApplication] statusBarFrame];
CGRect contentRect = self.contentView.frame;
CGRect makeRect = CGRectMake(contentRect.origin.x, contentRect.origin.y + statusRect.size.height, contentRect.size.width, contentRect.size.height – statusRect.size.height);
self.contentView.frame = makeRect;

これをiOS7の判別を行い各ビューコントローラでずらしていくんですね。。
相当数のアプリで影響があると思われます、やっぱりみんなこんな事やってるんでしょうか。

iOS7のレイアウト周りの変更は認識してるだけでまだまだあるので調べ甲斐がありますね、
でもあまり嬉しくない笑、というわけでまた次回~☆