UISearchBar sobrepõe barra de status no iOS

Eu (assim como todos os outros aqui) estou correndo para o mesmo problema de sobreposição da Barra de Status que todo mundo está, com uma pequena reviravolta, e é por isso que eu abro uma nova pergunta sobre isso.

Parece haver algum mecanismo que permite ao UISearchBar saber onde se posicionar, o que étotalmente fora de sintonia.

jaredsinclair responder aqui (Barra de status do iOS 7 de volta ao estilo padrão do iOS 6 no aplicativo para iPhone?), explica detalhadamente como os engenheiros da Apple nos permitem introduzir lógica ao nosso aplicativo para misturar o máximo possível com o ambiente do usuário.

Eu passei pelo processo de examinar cuidadosamente cada UIViewController no meu aplicativo e fazer a menor modificação possível.

Na maioria dos casos, consegui resolver o problema usando o código abaixo, que encontrei em várias respostas do SO

// Do any additional setup after loading the view.
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){
    self.edgesForExtendedLayout = UIRectEdgeNone;
}

No entanto, isso não funcionaria, não importa o que eu faça em uma determinada exibição em que a UINavigationBar esteja oculta.

Com base na solução encontrada no SO, resolvi esse problema adicionando a seguinte lógica a esse UIViewController específico

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
    CGRect statusBarFrame =  [[UIApplication sharedApplication] statusBarFrame];
    viewFrame.origin.y = viewFrame.origin.y+statusBarFrame.size.height;
}

Isso empurra o UIViewControllern pixels abaixo "dependendo" da altura da barra de status.

O efeito disso é mostrar aqui

O problema é que, quando eu entro no campo de pesquisa, o UISearchBar adiciona um preenchimento de 20px no topo, o que compensa a IU inteira.

Isso me leva à conclusão de que o UISearchBar tenta se ajustar e, por coincidência, ajusta-se exatamente a mesma quantidade que a altura da barra de status.

Se eu não hackear a posição, quando eu entrar no campo de pesquisa, esse ajuste automático alinha o UISearchBar nitidamente abaixo da barra de status.

Espero ter detalhado minha confusão, estou me perguntando se alguém tem alguma idéia para uma solução.

questionAnswers(6)

yourAnswerToTheQuestion