我有一個TabBar控制器與兩個ViewControllers(A和B),並且想要更改兩個選項卡欄項目的字體大小。當加載第一個選項卡A ViewController時,我可以使用[self tabBarItem] setTitleTextAttribute更改選項卡項目的字體大小。iOS:更改TabBarItem的未選定選項卡
但是,如何從A引用ViewController B的標籤欄項目,以便我可以更改字體?
在此先感謝!
我有一個TabBar控制器與兩個ViewControllers(A和B),並且想要更改兩個選項卡欄項目的字體大小。當加載第一個選項卡A ViewController時,我可以使用[self tabBarItem] setTitleTextAttribute更改選項卡項目的字體大小。iOS:更改TabBarItem的未選定選項卡
但是,如何從A引用ViewController B的標籤欄項目,以便我可以更改字體?
在此先感謝!
你必須通過一個self.tabbarController.viewControllers參考其它的viewController(S)
您可以添加單:爲UITabBar Shared Instances並獲得單一的參考,也可以創建一個具有兩個UIViewControllers類和他們隨附的UITabBars,並將它們稱爲類變量。我不喜歡單身人士,但它歸結爲您的應用程序的偏好和數據模型。
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
進行所需的更改。
太棒了,謝謝! – dutchman711