UISearchBar se superpone a la barra de estado en iOS

Yo (como todos los demás aquí) me encuentro con el mismo problema de superposición de la barra de estado que todos los demás, con un pequeño giro, y es por eso que abro una nueva pregunta sobre esto.

Parece que hay algún mecanismo que le permite a UISearchBar saber dónde ubicarse, que estotalmente fuera de control.

jaredsinclair responde aqui¿La barra de estado de iOS 7 vuelve al estilo predeterminado de iOS 6 en la aplicación de iPhone?), explica con gran detalle cómo los Ingenieros de Apple nos permiten introducir la lógica en nuestra aplicación para mezclarnos tanto como sea posible con el entorno del usuario.

Pasé por el proceso de examinar cuidadosamente cada controlador UIViewController en mi aplicación y hacer la menor modificación posible.

En la mayoría de los casos, pude resolver el problema utilizando el código a continuación que encontré en varias respuestas de SO

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

Sin embargo, esto no funcionaría sin importar lo que haga en una vista particular donde la barra UINavigation está oculta.

Basándome en la solución encontrada en SO, pude resolver este problema agregando la siguiente lógica a este UIViewController particular

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

Esto empuja al controlador UIViewn Píxeles hacia abajo "dependiendo" de la altura de la barra de estado.

El efecto de esto se muestra aquí.

El problema es que cuando entro en el campo de búsqueda, la barra UISearch agrega por sí misma un relleno de 20 píxeles en la parte superior, que compensa toda la interfaz de usuario.

Esto me lleva a la conclusión de que UISearchBar intenta ajustarse y, por coincidencia, se ajusta exactamente la misma cantidad que la altura de la barra de estado.

Si no hackeo la posición, una vez que ingrese al campo de búsqueda, este ajuste automático alinea la Barra de UIS por debajo de la barra de estado.

Espero haber detallado mi confusión, me pregunto si alguien tiene alguna idea para una solución.

Respuestas a la pregunta(6)

Su respuesta a la pregunta