3
我可以通过下面的代码在AppDelegate.m改变徽章值:如何从AppDelegate.m设置tabBarItem的徽章(tabBarView不是根视图)
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
[[tabController.viewControllers objectAtIndex:0] tabBarItem].badgeValue = @"Badge";
只有当tabBarViewController是窗口的根视图控制器。
但是,在我的新程序中,tabBarController不是根视图。
我曾尝试下面的代码:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UITabBarController *tabController = (UITabBarController *)[storyboard instantiateViewControllerWithIdentifier:@"tabBarController"] ;
[[tabController.viewControllers objectAtIndex:0] tabBarItem].badgeValue = @"Badge";
它只是将无法工作。 tabBarItem不显示任何徽章。
编辑 -
我加入以下代码来检查呢tabController创建与否,答案是肯定的。
if (tabController) {
NSLog(@"tabController has been created ");
}else {
NSLog(@"You have a null reference - The Object hasn't been created yet");
}
答案是YES。
2013-03-01 11:57:00.600报告[14854:907] tabControllerhas一直 创建
但是,预期的徽章仍然没有露面。
对不起,电流控制器不tabBarController,它是xxxAppDelegate.m所以,我不能用[自tabBarController] – 2013-02-28 07:03:53
你可以做到这一点tabbarcontrolle的视图控制器 – Vinodh 2013-02-28 07:07:52
在我的情况下,我无法在tabBarControler中执行此操作。我必须在其他控制器中设置BadgeVlaue。 – 2013-02-28 10:53:43