iphone - item - La mejor forma de actualizar badgeValue de UITabBarController desde una UIView
tabbar ios (3)
Tengo un tabBarController configurado en AppDelegate y tengo algunos UIViewControllers con Nav Controllers. En uno de los elementos de TabBar, después de presionar algunos UIViews quiero actualizar el elemento badgeValue de un elemento diferente de TabBar.
¿Cuál es la mejor manera de hacer esto? La única forma en que realmente puedo pensar es en una NSNotification y un almacenamiento único para el valor, pero parece que hay mucho trabajo para algo simple, eso y no tengo ni idea acerca de NSNotifications.
Tuve una suposición salvaje sobre algo como super.tabBarController.otherView.tabBarItem.badgeValue = @ "1" (como establezco qué pestaña se selecciona de una manera similar) pero no me sorprende que esto no funcione.
Gracias
Gracias a alku83 que me indicó la dirección correcta, el código es:
[[super.tabBarController.viewControllers objectAtIndex:2] tabBarItem].badgeValue = @"1";
No tengo el código a la mano en este momento, pero debería ser algo así como
...otherViewController.tabBarItem.badgeValue = 1;
Estoy usando Xcode 4.5 con Storyboards y iOS 6, por lo que la respuesta puede haber cambiado desde que se publicó originalmente.
En primer lugar, debe acceder al controlador de la barra de pestañas de la siguiente manera:
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
Entonces puedes establecer la insignia como así:
[[tabController.viewControllers objectAtIndex:1] tabBarItem].badgeValue = @"New!";