Como posso alterar a cor de fundo do UIWebView depois de deslizar para baixo no UIWebView para corrigir o problema de sobreposição da barra de status do iOS7?
Estou escrevendo um aplicativo Phonegap 3.0+.
Há um problema com as visualizações sobrepostas da barra de status no iOS7 que o usuárioLudwig Kristoffersson forneceu uma resposta funcional aqui
Agora que tenho o UIWebView com uma margem superior de 20 px, como posso alterar a cor de fundo do UIWebView? Preciso que a área atrás da barra de status tenha a mesma cor de fundo que a barra de ferramentas "pessoas".
Eu não tenho quase nenhuma experiência em Objectivo C, e tenho procurado por possíveis perguntas SO para encontrar uma solução de trabalho, mas sem sucesso.
Cor de fundo do UIWebView
O fundo do UIWebView está definido como Clear Color, mas não é transparente
Abaixo está o código que eu tentei até agora:
- (void)viewWillAppear:(BOOL)animated {
//Lower screen 20px on ios 7
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;
[self.webView setOpaque:YES];
//neither of these seem to work when uncommented:
// [self.webView setBackgroundColor:[UIColor grayColor]];
// self.webView.backgroundColor=[UIColor grayColor];
}
[super viewWillAppear:animated];
}
ATUALIZAÇÃO 1
- (void)viewWillAppear:(BOOL)animated
{
//Lower screen 20px on ios 7
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;
self.webView.backgroundColor = [UIColor grayColor];
self.webView.opaque=NO;
}
[super viewWillAppear:animated];
}
Isso ainda parece me dar um fundo branco por trás da barra de status, em vez de cinza.
O resultado que espero é assim: