본문 바로가기
개발/iOS

Phonegap, iOS7에서 상태바 뒤에 webview가 위치하는 문제!

by 비손 2014. 7. 1.

폰갭으로 하이브리드 앱을 제작하다보니, iOS7 에서 webview가 상단 상태바 뒤에 위치하는 문제가 있었습니다.

iOS6 버전에서는 정상적으로 작동하더군요.



아이패드에서 본 화면입니다. 상단의 상태바까지 회색으로 칠해진 것을 볼 수 있습니다.

스크롤 가능한 화면으로 확인할 때는 상태바가 투명인 상태로 있고, 그 밑으로 내용이 지나가는 형태로 작동합니다.


iOS7에서 사파리를 사용해보면 내용이 상태바 및 주소창 밑으로 지나가지만, 반투명이라서 별로 이상하지 않은 것에 비해서 폰갭으로 제작한 앱은 좀 이상한 느낌이 들기도 합니다. 뭐 다양하게 사용할 수 있겠지만, 일단은 저 부분을 웹뷰에서 침범하지 않도록 수정해 보겠습니다.


코드 내용은 단순히 상단을 20px 띄우는 것입니다.


MainViewController.m 을 열어서 viewWillAppear 메서드를 찾습니다.


- (void)viewWillAppear:(BOOL)animated

{

    // View defaults to full size.  If you want to customize the view's size, or its subviews (e.g. webView),

    // you can do so here.

    

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

        CGRect viewBounds = [self.webView bounds];

        viewBounds.origin.y = 20;

        viewBounds.size.height = viewBounds.size.height-20;

        self.webView.frame=viewBounds;

    }


    [super viewWillAppear:animated];

}


그리고 코드 내용을 저렇게 수정해 주면 위에 20px을 띄워줍니다.


출처: http://stackoverflow.com/questions/19209781/ios-7-status-bar-with-phonegap