Configuración de la imagen seleccionada en el control de la barra de tabs con Storyboard

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.

Configurar la imagen seleccionada de Tabbar usando el guión gráfico

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:

  • Ir a activos de Imagen -> seleccionar imagen
  • Seleccione Render AS: “Imagen original”

enter image description here

  • Después de eso ve al guión gráfico -> Selecciona el ítem Tabbar
  • Debajo de Inspectores de atributos, configure “Imagen seleccionada” e “Imagen” como se muestra en la siguiente captura de pantalla, eso es todo:

enter image description here

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 🙂 enter image description here

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í.

enter image description here

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

enter image description here

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.

Imprimir elemento de barra de pestañas de pantalla

No olvides que la imagen debe tener este tamaño:

  • @ 1x: aproximadamente 25 x 25
  • @ 2x: aproximadamente 50 x 50
  • @ 3x: aproximadamente 75 x 75

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)