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.

¿Fue útil?

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
scroll top