Cuando intento usar una imagen para un UIBarButtonItem, el texto no se muestra. ¿Hay alguna manera de mostrar tanto el texto como la imagen?¿Cómo puedo tener un UIBarButtonItem con imagen y texto?
Respuesta
Puede iniciar el UIBarButtonItem con una vista personalizada que tenga tanto imagen como texto. Aquí hay una muestra que usa un UIButton. La respuesta de
UIImage *chatImage = [UIImage imageNamed:@"08-chat.png"];
UIButton *chatButton = [UIButton buttonWithType:UIButtonTypeCustom];
[chatButton setBackgroundImage:chatImage forState:UIControlStateNormal];
[chatButton setTitle:@"Chat" forState:UIControlStateNormal];
chatButton.frame = (CGRect) {
.size.width = 100,
.size.height = 30,
};
UIBarButtonItem *barButton= [[[UIBarButtonItem alloc] initWithCustomView:chatButton] autorelease];
self.toolbar.items = [NSArray arrayWithObject:barButton];
Kris Markel es un buen comienzo (sólo < iOS7), pero si se utiliza el color del tinte, que wount funciona para la imagen y el estado resaltado del botón.
He creado una categoría que creará un UIBarButtonItem (leftBarButtonItem) que se ve y se comporta como un botón normal de iOS7. Echar un vistazo a: https://github.com/Zero3nna/UIBarButtonItem-DefaultBackButton
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[button addTarget:target action:@selector(buttonAction:)forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 53, 31)];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(3, 5, 50, 20)];
[label setFont:[UIFont fontWithName:@"Arial-BoldMT" size:13]];
[label setText:title];
label.textAlignment = UITextAlignmentCenter;
[label setTextColor:[UIColor whiteColor]];
[label setBackgroundColor:[UIColor clearColor]];
[button addSubview:label];
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = barButton;
puedo sugerir una manera de cómo hacer esto utilizando Storyboard:
- de arrastrar y soltar a la barra de herramientas UIView habitual. Se ajustará automáticamente al elemento del botón de barra. Ajuste el ancho de la vista en "Inspector de tamaño". Cambie el color de fondo de la Vista para borrar el color.
Ponga UIButton y UILabel dentro de una vista. Puede usar restricciones para ajustar sus posiciones. También puede colocar su parte externa de una Vista, por ejemplo, un poco más alto o menos (como en mi foto). Coloque imágenes predeterminadas y resaltadas para UIButton.
Botón de barra de copia Elemento y ajuste otros botones. Agrega espacios flexibles.
Crear salidas.
Hecho :). Cuando se ejecuta la aplicación, se obtiene la barra de herramientas como esta:
P. S. Here puede leer cómo crear subclase de UIToolbar utilizando .xib
Esta podría ser la respuesta correcta. ¡Realmente limpio! – Corona
- 1. ¿Puedo tener un UIBarButtonItem con una imagen coloreada?
- 2. UIBarButtonItem con imagen personalizada y sin borde
- 3. Tener problemas para cambiar la imagen de un UIBarButtonItem
- 4. Cómo cambiar la imagen y desactivar UIBarButtonItem
- 5. ¿Cómo agrego un UIBarButtonItem a una UIToolbar con texto y una imagen en él?
- 6. ¿Cómo puedo ocultar un UIBarButtonItem?
- 7. No puedo establecer la imagen para UIBarButtonItem
- 8. configurando la imagen para UIBarButtonItem - imagen estirada
- 9. Cómo cambiar el tamaño de imagen UIBarButtonItem
- 10. ¿Cómo puedo tener un tema global con diferentes colores de texto de TextView y Spinner?
- 11. Botón con texto Y una imagen (Android)
- 12. Botón con imagen y texto centrado
- 13. UIBarButtonItem con color?
- 14. ¿Cómo crear un enlace que contiene una imagen y texto?
- 15. Cómo cambiar un UIBarButtonItem en un UINavigationBar
- 16. apariencia de UIBarButtonItem y setBackButtonBackgroundImage
- 17. agregar imagen a UIBarButtonItem usando initWithImage: (UIImage *) imagen
- 18. Hiperenlace HTML con imagen y texto
- 19. ¿Cómo puedo agregar múltiples UIBarButtonItem a un UINavigationBar?
- 20. Reemplazar UIBarButtonItem con UIActivityIndicatorView
- 21. Transformar (rotar) un UIBarButtonItem
- 22. ¿Cómo puedo compensar la imagen UIButton dentro de UIBarButtonItem en navBar?
- 23. Cómo alinear verticalmente vanos con el texto y la imagen
- 24. Cómo tener un TextView circular
- 25. ¿Puedo diseñar el texto ALT de una imagen con CSS?
- 26. Tener texto codificado con un enlace en un TextBlock
- 27. ¿Cómo puedo enviar un correo electrónico de varias partes con texto/texto simple y texto/html con Grails?
- 28. Botón de formulario con imagen personalizada y texto
- 29. ¿Cómo puedo renderizar texto envuelto en una imagen en java
- 30. ¿Cómo puedo tener un HashMap con claves únicas en java?
Para la última línea, aparece un mensaje de error que dice "Solicitar barra de herramientas de miembros" no es una estructura o una unión. ¿Cómo lo hago usando self.navigationItem? .rightBarButtonItem? –
En ese caso, reemplace la última línea con 'self.navigationItem.rightBarButtonItem = barButton;'. O puede usar este método: http://developer.apple.com/library/ios/documentation/uikit/reference /UINavigationItem_Class/Reference/UINavigationItem.html#//apple_ref/doc/uid/TP40006933-CH3-SW17. –
Lo intenté y no se muestra nada. –