我在AppDelegate中设置了tabBarController,并且有一些带有Nav Controllers的UIViewControllers。在其中一个TabBar项目中,在我推动了几个UIViews之后,我想要更新另一个TabBar项目的badgeValue项目。
这是最好的方法吗?我能想到的唯一方法就是NSNotification和单值存储的价值,但似乎很简单的事情,我不知道NSNotifications。
我对super.tabBarController.otherView.tabBarItem.badgeValue = @“1”这样的东西进行了疯狂的猜测(因为我设置了以类似的方式选择了哪个选项卡),但我并不感到惊讶,这不起作用。
由于
答案 0 :(得分:36)
感谢alku83指出我正确的方向,代码是:
[[super.tabBarController.viewControllers objectAtIndex:2] tabBarItem].badgeValue = @"1";
答案 1 :(得分:6)
我正在使用Xcode 4.5与Storyboard和iOS 6,所以答案可能会在最初发布后发生变化。
首先,你必须像这样访问标签栏控制器:
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
然后您可以像这样设置徽章:
[[tabController.viewControllers objectAtIndex:1] tabBarItem].badgeValue = @"New!";
答案 2 :(得分:0)
我现在手边没有代码,但它应该更像是
...otherViewController.tabBarItem.badgeValue = 1;