我覺得這很正常。也許你的代碼在更新之前被更改/重構?
TabBarItem
在UIViewController
定義並代表選項卡欄項的此視圖控制器。
所以this.TabBarItem
是這個這個視圖控制器的標籤欄項目,例如,我在我的代碼中使用了一個UITabBarController
(我們稱之爲parent
)。
this.TabBarController.TabBar.Items[x]
將代表標籤欄項目的這parent
的孩子視圖控制器之一。
所以,當我創建child1
和child2
(的UIViewController
兩個實例),並將其分配給parent.ViewControllers
我們得到(每個兒童一臺父,一個)的UITabBarItem
三個實例 - 但只有他們兩個(孩子們將永遠不會可見)。
E.g.從記錄的句柄值
2012-09-14 20:13:24.092 test1[47917:1507] parent.TabBarItem.Handle = 291086496
2012-09-14 20:13:24.094 test1[47917:1507] parent.TabBar.Items [0].Handle = 218412640
2012-09-14 20:13:24.094 test1[47917:1507] parent.TabBar.Items [1].Handle = 160885040
2012-09-14 20:13:24.095 test1[47917:1507] child1.TabBarItem.Handle = 218412640
2012-09-14 20:13:24.096 test1[47917:1507] child2.TabBarItem.Handle = 160885040
所以我可以做的:
child1.TabBarItem.BadgeValue = "5"; // or
parent.TabBar.Items[0].BadValue = "5";
以獲得相同的行爲。然而,改變parent.TabBarItem
將不會在任何地方可見(至少在我的情況下,這是我的測試應用程序的RootViewController
)。
ahah,名稱** iOS6 **和** Xcode 4.5 **被公開/公開,包括大多數*高級*功能(即您可以在Apple網站上未登錄的內容)。不工作,你的意思是它沒有顯示徽章?或它正在投擲?例如'TabBarItem'爲'null'。 – poupou
徽章沒有出現,似乎只是吞下了價值的設置。 –