您能以编程方式检索TabBarApp中选项卡的名称吗?

时间:2011-11-29 12:34:25

标签: iphone interface-builder uitabbarcontroller uitabbaritem

我在Interface Builder中创建了一个tabBar应用程序 - 并在那里命名了我的所有标签和标签项。我现在可以在运行时以编程方式找出或检索我的选项卡的名称吗? 当我执行viewControllers数组的NSLog时,我得到的是:
(     “”     “”     “”     “”     “” )

这显然不好 - 我需要获得更具体的信息。

此外,我注意到您无法在IB中为标签中的任何视图控制器设置标签,标题或标签。

那么如何通过代码识别出各种标签中的内容?或者您是否必须抛弃Interface Builder并按代码执行所有操作?

2 个答案:

答案 0 :(得分:1)

每个视图控制器中的标签栏项目包含标题。

for (UIViewController *viewController in tabBarController.viewControllers) {
    NSLog(@"%@", viewController.tabBarItem.title);
}

话虽如此,我认为引用特定标签的最佳方法是从应用委托给每个视图控制器明确IBOutlet。因为不会超过一小部分,所以这不应该是额外的代码。

答案 1 :(得分:1)

for(id btn in TabObject.tabBar.items)
    {
        if([btn isKindOfClass:[UITabBarItem class]])
        {
            UITabBarItem *sender=btn;
            NSLog(@"%@",sender.title);
        }
    }