¿Por qué hay a la izquierda / derecha vacíos cuando agrego una imagen a mi barra de navegación?
-
22-09-2019 - |
Pregunta
UIImageView *navBarImageView = [[UIImageView alloc] initWithImage:navBarImage];
[navBarImageView setFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.titleView = navBarImageView;
[navBarImageView release];
Estoy intentando añadir una imagen a mi navigationbar, pero cuando he utilizado el código como se indica más arriba, se coloca la imagen en el navigationbar pero deja un espacio gris a la izquierda y derecha de la imagen. La imagen fue creada a 320x44, yo no sé por qué se está cambiando su tamaño a pesar del hecho de que yo soy la creación del marco soy.
Solución
Eso es ... probablemente no cómo quieres hacer eso, que no es lo que el titleView
es para. La forma habitual de hacer un fondo personalizado barra de navegación es crear una categoría en UINavigationBar
, así:
@implementation UINavigationBar(MyCustomBackground)
- (void)drawRect:(CGRect)r
{
[[UIImage imageNamed:@"my-navigation-background.png"] drawInRect:self.bounds];
}
@end
banda que en un archivo .m en su proyecto y se debe ver todas las barras de navegación utiliza "mi-navegación-background.png" como su fondo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow