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