Tengo un UITabBarController,

¿Cómo puedo crear/actualizar el badge value de la tabBar artículo de mi viewController ?

La tabBar del elemento creado en el ib.

He conectado el tabBar elemento al controlador por medio de un IBOutlet UITabBar *tabBar.

gracias.

InformationsquelleAutor omri | 2009-12-22

5 Comentarios

  1. 69

    Si su viewcontroller ya tiene una pestaña de la barra de controlador asociado con él, usted puede simplemente profundizar en la pestaña de la barra de elemento y establezca su insignia, como este:

    [[[[[self tabBarController] tabBar] items] 
                       objectAtIndex:tabIndex] setBadgeValue:badgeValueString];

    donde tabIndex es el índice de la ficha de elemento que desea ajustar y badgeValueString es la cadena de valor que desea establecer en la ficha.

    • hay una manera mejor de hacerlo, sin necesidad de utilizar un tabIndex? desde el punto de vista controlador se carga después de tocar en una ficha específica elemento de la barra, que podría ser una manera…
    • Gracias!! Que trabajó como un encanto!!
  2. 27

    Utilizar el tabBarItem instancia de su controlador de vista para acceder a la ficha elemento de la barra directamente en lugar de profundizar en ella.

    [self.tabBarItem setBadgeValue:badgeValue];
    • +1 por la solución más sencilla, Matt solución funciona bien a la hora de actualizar otra ficha de la insignia del valor, pero esta solución es la más sencilla a la hora de actualizar el actual fichas de valor.
    • Sugerencia: si su controlador de vista está dentro de un controlador de navegación, usted tiene que utilizar [self.navigationController.tabBarItem setBadgeValue:badgeValue];
    • Y para aquellos que están buscando, aquí cómo quitar ‘[auto.tabBarItem setBadgeValue:nil];’
  3. 2

    Si hay tres pestañas en la aplicación First, Second y Third

    Ficha índice comienza desde 0

    First  tab index 0
    Second tab index 1
    Third  tab index 2

    Si desea establecer insignia de valor 5 en Second ficha

    Por lo tanto, pasar 1(ficha índice de Segunda pestaña) para objectAtIndex:1 y pasar 5(insignia de valor) para setBadgeValue:@"5"

    [[self.tabBarController.tabBar.items objectAtIndex:1] setBadgeValue:@"5"];

    También puede borrar o quitar la insignia del valor, pasando nil para específica ficha

    [[self.tabBarController.tabBar.items objectAtIndex:1] setBadgeValue:nil];
  4. 1
            int indexICareAbout = 2;
            NSString *badgeValue = @"10";
    
            [[[[[self tabBarController] viewControllers]
            objectAtIndex: indexICareAbout] tabBarItem] setBadgeValue:badgeValue];

Dejar respuesta

Please enter your comment!
Please enter your name here