본문 바로가기

iPhone

xocde4 이하버전 소스에서 xocde5이상 업데이트 시 status bar 겹치는 문제 해결법


-info.plist 에 View controller-based status bar appearance를 NO로 추가

AppDelegate의 didFinishLaunchingWithOptions에 아래 코드 추가 (해당코드는 검은색 배경으로 되어있으니 필요에 따라서 변경하면 됩니다.)

  [self.window setBackgroundColor:[UIColor blackColor]];

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];


ViewController 마다 오버라이딩 함수 추가

- (void)viewWillLayoutSubviews {

        if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {

        if([[UIApplication sharedApplication] statusBarOrientation] == UIDeviceOrientationPortrait

           || [[UIApplication sharedApplication] statusBarOrientation] == UIDeviceOrientationPortraitUpsideDown) {

            

            self.view.frame = [[UIScreen mainScreen] applicationFrame];

        }

        else {

            CGRect rect = [[UIScreen mainScreen] applicationFrame];

            self.view.frame = CGRectMake(0, rect.origin.y + 20, rect.size.height, rect.size.width);

        }

    }

}


- (UIStatusBarStyle)preferredStatusBarStyle

{

    return UIStatusBarStyleLightContent;

}


실행하면 예전과 같은 검은 상태바를 볼 수 있습니다.