iOS:更改未选中选项卡的TabBarItem

时间:2012-12-19 15:58:52

标签: ios ios5

我有一个带有两个ViewControllers(A和B)的TabBar控制器,并希望更改两个Tab Bar项的字体大小。当加载第一个选项卡A ViewController时,我可以使用[self tabBarItem] setTitleTextAttribute更改选项卡项字体大小。

但是,如何从A引用ViewController B的标签栏项,以便我也可以更改字体?

提前致谢!

3 个答案:

答案 0 :(得分:2)

您可以通过self.tabbarController.viewControllers引用其他viewController

答案 1 :(得分:0)

您可以为UITabBar添加单例:Shared Instances并获取单个引用,或者您可以创建一个具有两个UIViewControllers及其随附的UITabBars的类,并将它们作为类变量调用。我真的不喜欢单身人士,但它归结为你的应用程序的偏好和数据模型。

答案 2 :(得分:0)

像@andershqst所说self.tabbarController.viewControllers。我为我的标签保留了一个枚举。

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

然后,我可以使用controller.tabBarController.viewControllers[kSICOTabIndexHome]来获取特定的视图控制器。

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

此时,使用homeController.tabBarItem进行所需的更改。