hachinoBlog

hachinobuのエンジニアライフ

iOS7でstatusbar(ステータスバー)を消す方法

iOS7がリリースされましたね。
きっとNDAも解除されたろうと思いiOS7関連情報を綴ります。

iOS7になったことで全体のデザインがフラットデザインになりました。
この影響で僕のアプリはステータスバーの20px領域にViewが食い込むようになってました。
ステータスバーの領域を考慮してViewの座標を20px下げるということをやりたかったのですが、
やり方がよく分からず、ステータスバーを消すことは出来たので消して対応しました。

//viewDidLoadに記述
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
    // iOS 7
    [self prefersStatusBarHidden];
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
    // iOS 6以下でステータスバーを削除したい場合
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

// メソッド追加する
- (BOOL)prefersStatusBarHidden
{
    return YES;
}