he utilizado para anular método drawRect y color de relleno; pero después de la actualización iOS7 causa algunos problemas en UINavigationBar. Si escribe su propio método drawrect, incluso si llama a [super drawRect], cambia la dimensión de la barra y termina con una barra de navegación con 44 píxeles de altura. La barra de estado se deja en blanco.
Para obtener un sólido navigationbar color, utilicé una imagen como imagen de fondo (cualquier imagen de color sólido pequeño va a hacer, ya que está estirando ella) y añadió esta líneas dentro del método initWithFrame de la subclase UINavigationBar:
[self setBackgroundColor:[UIColor clearColor]]
[[UINavigationBar appearance] setBackgroundImage:[[UIImage imageNamed:@"bgimage.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5) resizingMode:UIImageResizingModeStretch] forBarMetrics:UIBarMetricsDefault];
Gracias. Funciona de maravilla. Para configurar los colores de los botones, cambié el color del tinte de la barra de navegación y obtienen el color del tinte. Justo como esperaba. – MartinHN
¿Sabe si es posible hacerlo a través del proxy de aparición? '[[UINavigationBar apariencia] .....];' – MartinHN
No sé, utilizo este código en un proyecto con iOS 4.2 cuando la apariencia no estaba disponible –