objective-c - 通过代码将标题/图标等设置为在 IB 中创建的 TabBarItem?

标签 objective-c ios uitabbarcontroller uitabbaritem

我有一个通过 IB 创建的 TabBar,我选择了“创建新项目”->“Tab 栏应用程序”。有没有办法让我通过代码访问其中一个 TabBarItems 进行自定义?

在我看来,是这样的: [[self.tabBarController.tabBar.items objectAtIndex:0] setTitle:@"Button one"]; 应该将该项目的标题设置为“按钮一”,但事实并非如此。标题本身不是问题(我也可以通过 IB 设置),但是添加图标似乎是问题。

综上所述,我真正想知道的是:有没有办法为通过 IB 创建的 TabBarItem 添加图标?

解决方案: 在第一个 View 中添加 viewDidLoad,在启动应用程序时自动加载:

UITabBarController *tb = [self tabBarController];
[[tb.tabBar.items objectAtIndex:1] setTitle:@"Title"];

让我设置第二个按钮的标题 (objectAtIndex: 1)。我还能够以相同的方式设置图像,这也适用于按钮一 (objectAtIndex: 0) 和按钮三 (objectAtIndex: 2)。

最佳答案

将此添加到您的 viewDidLoad: tabBar viewControllers 之一的方法,它应该可以工作:

- (void)viewDidLoad
{
    [super viewDidLoad];


    //Get the tabBarItem
    UITabBarItem *tbi = [self tabBarItem];

    //Give it a lable
    [tbi setTitle:@"Title A"];

    //create a image from a file for the tabBar
    UIImage *i = [UIImage imageNamed:@"NiceImage.png"];
    //and put it on the tabBar
    [tbi setImage:i];

}

关于objective-c - 通过代码将标题/图标等设置为在 IB 中创建的 TabBarItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7320562/

相关文章:

ios - 监听 UITextField setText

ios - stringWithFormat 生成带有乱码字符的字符串

ios - UITableViewCell selectedBackgroundView 自定义

ios - 推送时隐藏 Boom Bar 是导航栏错误的原因

objective-c - 注册热键

iphone - 核心数据: Errors vs Exceptions Part 2

ios - App Store 加急审核已被接受,我拒绝/重新提交二进制文件

ios - 关于 leftBarButtonItem 没有以编程方式出现

ios - 从 TabBarController 的导航 Controller 隐藏 BarButton 项目

iphone - 如何根据indexPath获取单元格文本?