Usted puede utilizar la propiedad tintColor
para cambiar el color de un UINavigationBar
, sino para establecer una imagen como el fondo que tendrá que proporcionar su propia UINavigationBar
subclase y sobreescribir el método drawRect:
, por ejemplo:
- (void)drawRect:(CGRect)rect {
// Drawing code
UIImage *img = [UIImage imageNamed: @"background-image.png"];
[img drawInRect:CGRectMake(0,
0,
self.frame.size.width,
self.frame.size.height)];
}
Si usa el Interface Builder para construir su UI y luego usa la barra de navegación personalizada, simplemente seleccione el elemento UINavigationBar en Interface Builder, abra el Inspector y en la pestaña Identity especifique su subclase UINavigationBar en el campo de clase, así:

Ahora, ¿cómo puedo configurar el UINavigationBar para mostrar el interior de la UINavigationController? – Moshe
Buena pregunta - respuesta modificada en consecuencia. –
¿Es esto posible solo en código? Además, ¿esto rompe HIG para nada? – Moshe