MKMapview que afecta UINavigationBar y TabBar Apariencia

Tengo un MKMapView en una UIView. Nunca hay problemas hasta iOS7. Mis colors para UITabbar y UINavigationBars son establecidos por el Protocolo de apareamiento UIA.

Por alguna razón cada vez que se inicia MKMapView, todas mis barras de tabs y barras de navigation se restablecen, ignorando la configuration barTintColor de mi class de aspecto. Todas las demás configuraciones de UIApparance parecen permanecer como attributes de título y attributes de barra. Solo se desactiva barTintColor.

Una cosa más. Esto solo ocurre en iPhone 4 y iPhone4S, no en iPhone 5. Tampoco ocurre en el simulador. No fue un problema en iOS6 en absoluto.

No puedo encontrar otra causa para el reinicio. Pasé y comenté sobre todo lo que sucedía y no tuvo efecto de ninguna manera.

Si elimino el control MKMapView, no reiniciaré los colors. Si luego voy a presentar otra vista completamente diferente con un MKMapView, nuevamente se reiniciarán los colors.

Estoy buscando ideas sobre qué más revisar, qué tipo de configuraciones o methods podrían causar este comportamiento. Dame algunas cosas para eliminar, estoy atrapado.

Información adicional:

Ahora pensando que esto puede ser un error. Puse una línea para codificar el color de la barra de navigation en un color arbitrario en ViewDidLoad para ver qué está sucediendo.

UINavigationBar *bar = self.navigationController.navigationBar; [bar setBarTintColor = [UIColor GreenColor]; 

Puse un descanso en la siguiente línea. Inspeccionando la barra, el color parece estar configurado.

En iPhone4 o 4S, la barra no se pone verde. En iPhone5 y simulador, la barra se vuelve verde.

Algunos más artículos que he descubierto. El color no cambia. Parece que la visibilidad es. Sin embargo, leer el alfa del color y de la barra devuelve 1.0 ambos.

Entonces el color es correcto.

La translucidez es sí.

Alpha es 1.0.

Y, sin embargo, la barra es completamente transparente, sin color, sin tinte.

Creo que lo presentaré oficialmente como un error. Hice un test viewController con solo una MKMapview. Sin código, sin delegado, sin annotations. Presenté eso en lugar de mi controller apropiado. Lo mismo sucedió

Lo que necesito ahora es una solución. No puedo decir qué está cambiando. Cuando inspecciono las properties de la barra de navigation, todo es correcto. Color de tinte, translucidez, color de tinte de barra, valor alfa. Por lo que puedo decir, la cosa debería mostrarse como estaba previsto.

¿Alguien puede decirme otras properties o methods que podrían hacer que el background de la barra de navigation sea completamente transparente?

Después de search más, veo que hay algunos hilos relacionados en los foros de desarrolladores y este problema se ha notado desde hace algún time. Espero recibir una respuesta de que mi informe de errores es un engaño. Mientras tanto, creo que se me ocurrió una solución.

Lo que se me ocurrió es una secuencia de configuration

 self.navigationController.navigationBar.translucent = NO; self.tabBarController.tabBar.translucent = NO; 

cuando se carga la vista que contiene un MKMapView y luego se establece YES en viewDidAppear. Me puse a NO otra vez en la vista WillDisappear. A continuación, el viewController que vuelve debe volverse a translúcido en su viewDidAppear.

Utilicé una serie de publicaciones de NSNotification en los controlleres de vista con los maps. Subclass mis controlleres de navigation y la barra de tabs para que escuchen la notificación y respondan cambiando su propiedad de translucidez de barra.

Administrado para hacerlo. Con una pequeña cantidad de código, pero es una gran cantidad de actividad sin una buena razón. Me gustaría más ver esto reparado lo antes posible.