Active UISearchBar hace que el background de la barra de estado sea negro

Tengo un UISearchBar en la parte superior de UITableView que funciona muy bien. He estado tratando de personalizar su apariencia y hay un problema cuando la barra de búsqueda está activa: convierte el color de background de la barra de estado en negro. Probé las sugerencias en IOS7 La barra de estado cambió a negro después de que la búsqueda esté activa pero no funcionó para mí.

Ejemplo que muestra la barra de estado negra

La aplicación es iOS 7 solo. UISearchBar es para Estilo de búsqueda mínimo y Estilo de barra pnetworkingeterminado, barTintColor translúcido y pnetworkingeterminado. Personalice su apariencia en mi AppDelegate de la siguiente manera:

 [[UISearchBar appearance] setBarTintColor:AAColorInputBorder]; [[UISearchBar appearance] setBackgroundColor:AAColorInputBorder]; [[UILabel appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor whiteColor]]; [[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor whiteColor]]; [[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor],NSForegroundColorAttributeName, [UIFont fontWithName:@"Avenir" size:16], NSFontAttributeName, nil] forState:UIControlStateNormal]; [[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setFont:[UIFont fontWithName:@"Avenir" size:14]]; 

¿Alguien tiene alguna idea sobre cómo cambiar el color de background de la barra de estado? Quiero que coincida con el color del UISearchBar .

¡Gracias!

Este es un pequeño truco que uso para extender el color UISearchBar

en viewDidLoad ()

 if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone; [self removeUISearchBarBackgroundInViewHierarchy:self.searchDisplayController.searchBar]; 

método:

 - (void) removeUISearchBarBackgroundInViewHierarchy:(UIView *)view { for (UIView *subview in [view subviews]) { if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) { [subview removeFromSuperview]; break; //To avoid an extra loop as there is only one UISearchBarBackground } else { [self removeUISearchBarBackgroundInViewHierarchy:subview]; } } }