폰갭으로 하이브리드 앱을 제작하다보니, 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