标签栏控制器徽章未设置?

时间:2015-07-22 02:33:16

标签: ios badge tabbarcontroller

我正在尝试从标签栏控制器类设置标签栏项目徽章,但它无法正常工作。

首先,我通过将其拖到故事板中来创建TabBarController

enter image description here

然后,我创建了三个ViewControllers并将它们连接到TabBarController

enter image description here

然后我创建了四个类,第一个是TabBarController类,其余的是ViewControllerClasses

enter image description here

然后,我将类链接到storyboard元素,例如: enter image description here

然后,在TabBarViewController类中,我将此代码添加到ViewDidLoad方法中。

- (void)viewDidLoad {
[super viewDidLoad];

[[[[[self tabBarController] tabBar] items] objectAtIndex:1] 

setBadgeValue:@"1"];
}

enter image description here

现在,当我运行应用程序时,我希望第二个标签栏项目的徽章的值为@"1",但是,没有一个标签栏显示任何徽章?!

enter image description here

我的问题是我想要更新其中一个标签栏项目的徽章,但它不起作用。 此外,重要的是我可以将标签栏徽章的值设置为未加载的视图控制器的标签栏项,该部分对于我的应用至关重要工作。

那么为什么这不起作用,我怎样才能使它发挥作用?

1 个答案:

答案 0 :(得分:0)

[[[[self tabBarController] tabBar] items] objectAtIndex:1]

因为self是UITabBarViewController,所以您不需要再次获取tabBarController。使用以下代码获取UITabBarItem

[[[self tabBar] items] objectAtIndex:1]