2012-12-19 17 views
1

我有一個TabBar控制器與兩個ViewControllers(A和B),並且想要更改兩個選項卡欄項目的字體大小。當加載第一個選項卡A ViewController時,我可以使用[self tabBarItem] setTitleTextAttribute更改選項卡項目的字體大小。iOS:更改TabBarItem的未選定選項卡

但是,如何從A引用ViewController B的標籤欄項目,以便我可以更改字體?

在此先感謝!

回答

2

你必須通過一個self.tabbarController.viewControllers參考其它的viewController(S)

+0

太棒了,謝謝! – dutchman711

0

您可以添加單:爲UITabBar Shared Instances並獲得單一的參考,也可以創建一個具有兩個UIViewControllers類和他們隨附的UITabBars,並將它們稱爲類變量。我不喜歡單身人士,但它歸結爲您的應用程序的偏好和數據模型。

0

Like @andershqst says self.tabbarController.viewControllers。我保持我的標籤枚舉。

typedef enum SICOTabIndexes { 
    kSICOTabIndexHome, 
    kSICOTabIndexSaved, 
    kSICOTabIndexCamera, 
    kSICOTabIndexList, 
    kSICOTabIndexSettings 
} SICOTabIndexes; 

然後我可以使用controller.tabBarController.viewControllers[kSICOTabIndexHome]來獲得一個特定的視圖控制器。

UIViewController *homeController = controller.tabBarController.viewControllers[kSICOTabIndexHome] 

此時,請使用homeController.tabBarItem進行所需的更改。

相關問題