Quiero poner una imagen .png en el medio de la barra de navegación en lugar del título escrito en el texto. ¿Podrías decirme cómo hacer eso?Cómo poner una imagen como título de la barra de navegación
Gracias.
Quiero poner una imagen .png en el medio de la barra de navegación en lugar del título escrito en el texto. ¿Podrías decirme cómo hacer eso?Cómo poner una imagen como título de la barra de navegación
Gracias.
Ajuste del navigationItem titleview
UIImage *image = [UIImage imageNamed:@"image.png"];
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:image];
Puede cambiar todas las vistas en una UINavigationBar. Si usted está tratando de alterar el navigationbar en un controlador de navegación hacer:
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"] autorelease];
Si va a crear el navigationbar mismo hacen lo mismo, pero en lugar de llamar a self.navigationItem
llamada: navigationBar.topItem
Cuál es el tamaño de UIImage debe ser por el título ?? Lo intenté con 180 * 40 pero se está volviendo borroso. – Krunal
** self.navigationBar.topItem ** hizo el truco. Gracias –
Buscando una respuesta a esta pregunta, he encontrado una solución agradable y sencillo en el Apple Discussions forum, anulando -(void)drawRect:(CGRect)rect
para UINavigationBar
:
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
Diría que no es la mejor solución, ya que El título se puede establecer de todos modos y es más como un truco, pero puede resolver el problema fácilmente y funciona. –
Swift
bastidor metálico incluye sugerido/escalado
let image : UIImage = UIImage(named: "image.png")!
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
imageView.contentMode = .ScaleAspectFit
imageView.image = image
self.navigationItem.titleView = imageView
Gracias @ Michael-R .... Pero después de que agregué el siguiente código, el título de mi elemento de navegación no se muestra. – Cloy
Swift y iOS han cambiado un poco desde que publiqué esta respuesta, intentaré echarle un vistazo pronto – rambossa
Trabajo perfecto como debería ser ... esta solución también es para imágenes borrosas .... –
actualiza con 2.x Swift
navigationItem.titleView = UIImageView.init(image: UIImage(named:"yourImageName"))
¿cuál es el tamaño de UIImage debería ser para el título? Lo intenté con 180 * 40 pero se está volviendo borroso. – Krunal
Esto funciona perfectamente en iOS 7.1 (sin 'autorelease', por supuesto) El tamaño de mi imagen era 296x40px (2x) y se muestra perfecto. ¡Gracias! – Alex
acaba de agregar un consejo. En breve el código sería: let imgTitleBar = UIImage (llamado: "iphone-menu.png") self.navItem.titleView = UIImageView (image: imgTitleBar) –