Estoy usando Storyboarding y tengo un controlador de barra de tabs con cinco tabs. En el guión gráfico, puedo configurar la imagen para el elemento de la barra de tabs. Los documentos de Apple sugieren tener dos íconos para cada elemento de la barra de tabs, uno para seleccionar y otro para el estado no seleccionado.
No puedo descifrar cómo puedo hacer esto usando el guión gráfico.
Puede usar el guión gráfico para establecer la imagen seleccionada de tabbar. Lo intenté y funcionó para mí. Seleccione UITabbarItem y agregue un atributo de tiempo de ejecución ‘selectedImage’, seleccione Type como ‘Image’ y proporcione el nombre de su imagen como su valor.
Estoy usando XCode 6.0 y mi objective de implementación mínimo es iOS 8.0.
Aquí hay una solución completa para la imagen seleccionada / no seleccionada en Tabbar For XCode> = 8:
Sí, esto no se puede hacer usando guiones gráficos: se debe escribir el código.
En el método viewDidLoad
, podemos escribir el siguiente código:
UITabBar *tabBar = self.tabBar; UITabBarItem *targetTabBarItem = [[tabbar items] objectAtIndex:0]; // whichever tab-item UIImage *selectedIcon = [UIImage imageNamed:@"name-of-selected-image.png"]; [targetTabBarItem setSelectedImage:selectedIcon];
En XCode 8 y superior, simplemente puede hacerlo en activos de Imagen, simplemente seleccione la imagen y seleccione Renderizar como “Imagen Original”. (Por favor, compruebe la imagen adjunta) .. Diviértete 🙂
Ahora puede hacer esto fácilmente en el guión gráfico. En cada controlador tabview que tenga, debe contener un elemento de la barra de tabs en la jerarquía (se ve como una pequeña estrella azul), haga clic en esto y la configuración de la derecha debería verse como la imagen a continuación. El título y la imagen de la barra de tabs se pueden cambiar aquí.
Creo que la forma más fácil es configurar la imagen del Inspector. tiene un campo llamado Elemento de barra -> Imagen , y está allí donde tiene que establecer el nombre de la imagen. Tenga cuidado, no confunda con el elemento de la barra de tabs -> Imagen seleccionada
En el nuevo Xcode 8 puedes hacerlo en Storyboard sin la necesidad de definir los atributos de tiempo de ejecución como se sugiere en la respuesta de punta.
No olvides que la imagen debe tener este tamaño:
El icono debe establecerse en el controlador de vista correspondiente. Al hacer esto, puede reorganizar el orden de los controladores de vista dentro del controlador de pestaña principal de guiones gráficos sin tener que cambiar el código ( objectAtIndex:0
) para cada ícono.
Coloque la siguiente línea en el método viewDidLoad
:
if (self.navigationController.viewControllers.count < 2) self.navigationController.tabBarItem.selectedImage = [UIImage imageNamed:@"image-selected.png"];
La condición if
se asegura de que el botón solo se cambie para el controlador de vista superior. Esto es necesario cuando reutiliza los controladores de vista en una jerarquía de navegación como controladores de subvista.
SWIFT 3.0 -> La forma ideal de establecer las imágenes del botón de la barra de tabs es la siguiente:
primero configure las imágenes que desea usar para el botón:
let homeImage = UIImage(named: "TabHome") let homeTappedImage = UIImage(named: "TabHomeRed")
luego, configure el botón de tipo UITabButtonItem:
let homeButton = UITabBarItem(title: homeText, image: homeImage, selectedImage: homeTappedImage) //with this method you set the image when the button is not selected homeButton.image = homeImage?.withRenderingMode(UIImageRenderingMode.alwaysOriginal) //with this method you set the image when the button is selected homeButton.selectedImage = homeTappedImage?.withRenderingMode(.alwaysOriginal)