使用TabBar徽章值我有一個UITabBarController
,iphone碼 - 更改從的viewController的
如何創建從我viewController
/更新的TabBar項目的badge value
?
tabBar
項目在ib中創建。
我使用IBOutlet UITabBar *tabBar
將tabBar項目連接到控制器。
謝謝。
使用TabBar徽章值我有一個UITabBarController
,iphone碼 - 更改從的viewController的
如何創建從我viewController
/更新的TabBar項目的badge value
?
tabBar
項目在ib中創建。
我使用IBOutlet UITabBar *tabBar
將tabBar項目連接到控制器。
謝謝。
如果您的視圖 - 控制已有與其標籤欄控制器助理,你可以深入到標籤欄項目,並設置它的徽章,這樣的:
[[[[[self tabBarController] tabBar] items]
objectAtIndex:tabIndex] setBadgeValue:badgeValueString];
其中的tabIndex是選項卡的索引要設置的項目,並且badgeValueString是要在選項卡上設置的字符串值。
int indexICareAbout = 2;
NSString *badgeValue = @"10";
[[[[[self tabBarController] viewControllers]
objectAtIndex: indexICareAbout] tabBarItem] setBadgeValue:badgeValue];
使用視圖控制器的tabBarItem實例直接訪問標籤欄項目,而不是向下鑽取。
[self.tabBarItem setBadgeValue:badgeValue];
+1更簡單的解決方案,當更新另一個選項卡的徽章值時,Matt的解決方案運行良好,但此解決方案在更新當前選項卡值時最容易。 – 2011-11-28 19:12:20
提示:如果你的視圖控制器在導航控制器中,你必須使用'[self.navigationController.tabBarItem setBadgeValue:badgeValue];' – 2012-10-23 13:07:49
對於那些正在尋找的,在這裏如何刪除它'[self.tabBarItem setBadgeValue:零];' – 2013-05-29 18:47:29
示例代碼如果有三個標籤,在你的應用First
,Second
和Third
標籤指數從0
First tab index 0
Second tab index 1
Third tab index 2
開始如果想要在Second
標籤頁中設置徽章值5
所以通過1(第二選項卡的選項卡索引),用於objectAtIndex:1
並通過5(徽章值)setBadgeValue:@"5"
[[self.tabBarController.tabBar.items objectAtIndex:1] setBadgeValue:@"5"];
而且可以清除/去除傳遞nil
爲spacific標籤徽章值
有沒有更好的方式來做到這一點,而不使用tabIndex?由於視圖控制器是在觸摸特定的標籤欄項目後加載的,因此可能有一種方法... – 2011-08-02 23:31:43
謝謝!這就像一個魅力! – 2014-12-31 09:52:56